linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/6] Convert remaining power-supply DT bindings to YAML
@ 2021-04-12 23:03 Sebastian Reichel
  2021-04-12 23:03 ` [PATCH 1/6] ARM: dts: mmp2-brownstone: Fix max8925 vendor prefix Sebastian Reichel
                   ` (5 more replies)
  0 siblings, 6 replies; 13+ messages in thread
From: Sebastian Reichel @ 2021-04-12 23:03 UTC (permalink / raw)
  To: Sebastian Reichel, Rob Herring
  Cc: Lee Jones, Linus Walleij, linux-pm, devicetree, linux-kernel,
	Sebastian Reichel, kernel

Hi,

Let's get rid of the remaining three non-YAML power-supply binding files.

1. charger-manager
   I initially skipped this, since the binding is quite complex.
   It turned out a basic yaml binding is not that complex.
   This does not check for supplies matching cm-regulator-name,
   but that should be fine considering this is a legacy binding.

2. max8925_battery.txt
   I initially skipped this, since it does not have a compatible
   node. This converts the MFD binding file
   compatible value. It needs to be described in the PMIC binding
   file, which has not yet been converted.

3. stericsson,ab8500-battery.txt
   This also describes a node below the PMIC, which does not have
   its own compatible value. The same applies.

I tested the series using dt-validate 2021.3.dev6+g38efe3f and nothing
is reported when running any of the following

for file in Documentation/devicetree/bindings/mfd/stericsson,ab8500.yaml \
            Documentation/devicetree/bindings/mfd/maxim,max8925.yaml \
	    Documentation/devicetree/bindings/power/supply/charger-manager.yaml ;
do
	make -s -j4 dtbs_check DT_SCHEMA_FILES=$file
	make -s -j4 dt_binding_check DT_SCHEMA_FILES=$file
done

Merging notes:
 * The ARM DTS changes can be merged independently. The DTS changes should be
   compatible with existing drivers and existing binding documenting.
 * The last patch depends on eb917497734c ("dt-bindings: power: supply: ab8500:
   Convert to DT schema format") queued into power-supply's for-next branch for
   v5.13. The change is not critical, so it can wait for 5.14.
    
Thanks for reviewing it,

-- Sebastian

Sebastian Reichel (6):
  ARM: dts: mmp2-brownstone: Fix max8925 vendor prefix
  ARM: dts: ux500: Fix interrupt cells
  ARM: dts: ux500: Rename gpio-controller node
  dt-bindings: power: supply: charger-manager: Convert to DT schema
    format
  dt-bindings: power: mfd: max8925: Convert to DT schema format
  dt-bindings: power: mfd: ab8500: Convert to DT schema format

 .../leds/backlight/max8925-backlight.txt      |  10 -
 .../devicetree/bindings/mfd/ab8500.txt        | 280 -------
 .../devicetree/bindings/mfd/max8925.txt       |  64 --
 .../bindings/mfd/maxim,max8925.yaml           | 139 ++++
 .../bindings/mfd/stericsson,ab8500.yaml       | 696 ++++++++++++++++++
 .../bindings/pinctrl/ste,abx500.txt           | 318 --------
 .../bindings/power/supply/charger-manager.txt |  91 ---
 .../power/supply/charger-manager.yaml         | 215 ++++++
 .../bindings/power/supply/max8925_battery.txt |  18 -
 .../supply/stericsson,ab8500-battery.txt      |  34 -
 arch/arm/boot/dts/mmp2-brownstone.dts         |   2 +-
 arch/arm/boot/dts/ste-ab8500.dtsi             |  28 +-
 arch/arm/boot/dts/ste-ab8505.dtsi             |  24 +-
 arch/arm/boot/dts/ste-href-ab8500.dtsi        |   2 +-
 arch/arm/boot/dts/ste-href.dtsi               |   2 +-
 arch/arm/boot/dts/ste-snowball.dts            |   2 +-
 16 files changed, 1080 insertions(+), 845 deletions(-)
 delete mode 100644 Documentation/devicetree/bindings/leds/backlight/max8925-backlight.txt
 delete mode 100644 Documentation/devicetree/bindings/mfd/ab8500.txt
 delete mode 100644 Documentation/devicetree/bindings/mfd/max8925.txt
 create mode 100644 Documentation/devicetree/bindings/mfd/maxim,max8925.yaml
 create mode 100644 Documentation/devicetree/bindings/mfd/stericsson,ab8500.yaml
 delete mode 100644 Documentation/devicetree/bindings/pinctrl/ste,abx500.txt
 delete mode 100644 Documentation/devicetree/bindings/power/supply/charger-manager.txt
 create mode 100644 Documentation/devicetree/bindings/power/supply/charger-manager.yaml
 delete mode 100644 Documentation/devicetree/bindings/power/supply/max8925_battery.txt
 delete mode 100644 Documentation/devicetree/bindings/power/supply/stericsson,ab8500-battery.txt

-- 
2.30.2


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

* [PATCH 1/6] ARM: dts: mmp2-brownstone: Fix max8925 vendor prefix
  2021-04-12 23:03 [PATCH 0/6] Convert remaining power-supply DT bindings to YAML Sebastian Reichel
@ 2021-04-12 23:03 ` Sebastian Reichel
  2021-04-12 23:03 ` [PATCH 2/6] ARM: dts: ux500: Fix interrupt cells Sebastian Reichel
                   ` (4 subsequent siblings)
  5 siblings, 0 replies; 13+ messages in thread
From: Sebastian Reichel @ 2021-04-12 23:03 UTC (permalink / raw)
  To: Sebastian Reichel, Rob Herring
  Cc: Lee Jones, Linus Walleij, linux-pm, devicetree, linux-kernel,
	Sebastian Reichel, kernel, Lubomir Rintel

Fix typo in max8925 vendor prefix.

Cc: Lubomir Rintel <lkundrak@v3.sk>
Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
---
 arch/arm/boot/dts/mmp2-brownstone.dts | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/arm/boot/dts/mmp2-brownstone.dts b/arch/arm/boot/dts/mmp2-brownstone.dts
index 04f1ae1382e7..bc64348b8218 100644
--- a/arch/arm/boot/dts/mmp2-brownstone.dts
+++ b/arch/arm/boot/dts/mmp2-brownstone.dts
@@ -28,7 +28,7 @@ &uart3 {
 &twsi1 {
 	status = "okay";
 	pmic: max8925@3c {
-		compatible = "maxium,max8925";
+		compatible = "maxim,max8925";
 		reg = <0x3c>;
 		interrupts = <1>;
 		interrupt-parent = <&intcmux4>;
-- 
2.30.2


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

* [PATCH 2/6] ARM: dts: ux500: Fix interrupt cells
  2021-04-12 23:03 [PATCH 0/6] Convert remaining power-supply DT bindings to YAML Sebastian Reichel
  2021-04-12 23:03 ` [PATCH 1/6] ARM: dts: mmp2-brownstone: Fix max8925 vendor prefix Sebastian Reichel
@ 2021-04-12 23:03 ` Sebastian Reichel
  2021-05-18  0:11   ` Linus Walleij
  2021-04-12 23:03 ` [PATCH 3/6] ARM: dts: ux500: Rename gpio-controller node Sebastian Reichel
                   ` (3 subsequent siblings)
  5 siblings, 1 reply; 13+ messages in thread
From: Sebastian Reichel @ 2021-04-12 23:03 UTC (permalink / raw)
  To: Sebastian Reichel, Rob Herring
  Cc: Lee Jones, Linus Walleij, linux-pm, devicetree, linux-kernel,
	Sebastian Reichel, kernel

Fix interrupt cells in DT AB8500/AB8505 source files. The
compiled DTB files will stay the same.

Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
---
 arch/arm/boot/dts/ste-ab8500.dtsi | 26 +++++++++++++-------------
 arch/arm/boot/dts/ste-ab8505.dtsi | 22 +++++++++++-----------
 2 files changed, 24 insertions(+), 24 deletions(-)

diff --git a/arch/arm/boot/dts/ste-ab8500.dtsi b/arch/arm/boot/dts/ste-ab8500.dtsi
index 4fd09997a2b9..5c5a5a2dadfc 100644
--- a/arch/arm/boot/dts/ste-ab8500.dtsi
+++ b/arch/arm/boot/dts/ste-ab8500.dtsi
@@ -42,15 +42,15 @@ ab8500_gpio: ab8500-gpio {
 
 				ab8500-rtc {
 					compatible = "stericsson,ab8500-rtc";
-					interrupts = <17 IRQ_TYPE_LEVEL_HIGH
-						      18 IRQ_TYPE_LEVEL_HIGH>;
+					interrupts = <17 IRQ_TYPE_LEVEL_HIGH>,
+						     <18 IRQ_TYPE_LEVEL_HIGH>;
 					interrupt-names = "60S", "ALARM";
 				};
 
 				gpadc: ab8500-gpadc {
 					compatible = "stericsson,ab8500-gpadc";
-					interrupts = <32 IRQ_TYPE_LEVEL_HIGH
-						      39 IRQ_TYPE_LEVEL_HIGH>;
+					interrupts = <32 IRQ_TYPE_LEVEL_HIGH>,
+						     <39 IRQ_TYPE_LEVEL_HIGH>;
 					interrupt-names = "HW_CONV_END", "SW_CONV_END";
 					vddadc-supply = <&ab8500_ldo_tvout_reg>;
 					#address-cells = <1>;
@@ -219,13 +219,13 @@ ab8500_chargalg {
 
 				ab8500_usb {
 					compatible = "stericsson,ab8500-usb";
-					interrupts = < 90 IRQ_TYPE_LEVEL_HIGH
-						       96 IRQ_TYPE_LEVEL_HIGH
-						       14 IRQ_TYPE_LEVEL_HIGH
-						       15 IRQ_TYPE_LEVEL_HIGH
-						       79 IRQ_TYPE_LEVEL_HIGH
-						       74 IRQ_TYPE_LEVEL_HIGH
-						       75 IRQ_TYPE_LEVEL_HIGH>;
+					interrupts = <90 IRQ_TYPE_LEVEL_HIGH>,
+						     <96 IRQ_TYPE_LEVEL_HIGH>,
+						     <14 IRQ_TYPE_LEVEL_HIGH>,
+						     <15 IRQ_TYPE_LEVEL_HIGH>,
+						     <79 IRQ_TYPE_LEVEL_HIGH>,
+						     <74 IRQ_TYPE_LEVEL_HIGH>,
+						     <75 IRQ_TYPE_LEVEL_HIGH>;
 					interrupt-names = "ID_WAKEUP_R",
 							  "ID_WAKEUP_F",
 							  "VBUS_DET_F",
@@ -242,8 +242,8 @@ ab8500_usb {
 
 				ab8500-ponkey {
 					compatible = "stericsson,ab8500-poweron-key";
-					interrupts = <6 IRQ_TYPE_LEVEL_HIGH
-						      7 IRQ_TYPE_LEVEL_HIGH>;
+					interrupts = <6 IRQ_TYPE_LEVEL_HIGH>,
+						     <7 IRQ_TYPE_LEVEL_HIGH>;
 					interrupt-names = "ONKEY_DBF", "ONKEY_DBR";
 				};
 
diff --git a/arch/arm/boot/dts/ste-ab8505.dtsi b/arch/arm/boot/dts/ste-ab8505.dtsi
index cc045b2fc217..3380afa74c14 100644
--- a/arch/arm/boot/dts/ste-ab8505.dtsi
+++ b/arch/arm/boot/dts/ste-ab8505.dtsi
@@ -39,8 +39,8 @@ ab8505_gpio: ab8505-gpio {
 
 				ab8500-rtc {
 					compatible = "stericsson,ab8500-rtc";
-					interrupts = <17 IRQ_TYPE_LEVEL_HIGH
-						      18 IRQ_TYPE_LEVEL_HIGH>;
+					interrupts = <17 IRQ_TYPE_LEVEL_HIGH>,
+						     <18 IRQ_TYPE_LEVEL_HIGH>;
 					interrupt-names = "60S", "ALARM";
 				};
 
@@ -182,13 +182,13 @@ ab8500_chargalg {
 
 				ab8500_usb: ab8500_usb {
 					compatible = "stericsson,ab8500-usb";
-					interrupts = < 90 IRQ_TYPE_LEVEL_HIGH
-						       96 IRQ_TYPE_LEVEL_HIGH
-						       14 IRQ_TYPE_LEVEL_HIGH
-						       15 IRQ_TYPE_LEVEL_HIGH
-						       79 IRQ_TYPE_LEVEL_HIGH
-						       74 IRQ_TYPE_LEVEL_HIGH
-						       75 IRQ_TYPE_LEVEL_HIGH>;
+					interrupts = <90 IRQ_TYPE_LEVEL_HIGH>,
+						     <96 IRQ_TYPE_LEVEL_HIGH>,
+						     <14 IRQ_TYPE_LEVEL_HIGH>,
+						     <15 IRQ_TYPE_LEVEL_HIGH>,
+						     <79 IRQ_TYPE_LEVEL_HIGH>,
+						     <74 IRQ_TYPE_LEVEL_HIGH>,
+						     <75 IRQ_TYPE_LEVEL_HIGH>;
 					interrupt-names = "ID_WAKEUP_R",
 							  "ID_WAKEUP_F",
 							  "VBUS_DET_F",
@@ -205,8 +205,8 @@ ab8500_usb: ab8500_usb {
 
 				ab8500-ponkey {
 					compatible = "stericsson,ab8500-poweron-key";
-					interrupts = <6 IRQ_TYPE_LEVEL_HIGH
-						      7 IRQ_TYPE_LEVEL_HIGH>;
+					interrupts = <6 IRQ_TYPE_LEVEL_HIGH>,
+						     <7 IRQ_TYPE_LEVEL_HIGH>;
 					interrupt-names = "ONKEY_DBF", "ONKEY_DBR";
 				};
 
-- 
2.30.2


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

* [PATCH 3/6] ARM: dts: ux500: Rename gpio-controller node
  2021-04-12 23:03 [PATCH 0/6] Convert remaining power-supply DT bindings to YAML Sebastian Reichel
  2021-04-12 23:03 ` [PATCH 1/6] ARM: dts: mmp2-brownstone: Fix max8925 vendor prefix Sebastian Reichel
  2021-04-12 23:03 ` [PATCH 2/6] ARM: dts: ux500: Fix interrupt cells Sebastian Reichel
@ 2021-04-12 23:03 ` Sebastian Reichel
  2021-05-18  0:15   ` Linus Walleij
  2021-04-12 23:03 ` [PATCH 4/6] dt-bindings: power: supply: charger-manager: Convert to DT schema format Sebastian Reichel
                   ` (2 subsequent siblings)
  5 siblings, 1 reply; 13+ messages in thread
From: Sebastian Reichel @ 2021-04-12 23:03 UTC (permalink / raw)
  To: Sebastian Reichel, Rob Herring
  Cc: Lee Jones, Linus Walleij, linux-pm, devicetree, linux-kernel,
	Sebastian Reichel, kernel

Rename the AB8500 gpio controller node from ab8500-gpio to
ab8500-gpiocontroller, since -gpio is a common suffix for
gpio consumers.

Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
---
 arch/arm/boot/dts/ste-ab8500.dtsi      | 2 +-
 arch/arm/boot/dts/ste-ab8505.dtsi      | 2 +-
 arch/arm/boot/dts/ste-href-ab8500.dtsi | 2 +-
 arch/arm/boot/dts/ste-href.dtsi        | 2 +-
 arch/arm/boot/dts/ste-snowball.dts     | 2 +-
 5 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/arch/arm/boot/dts/ste-ab8500.dtsi b/arch/arm/boot/dts/ste-ab8500.dtsi
index 5c5a5a2dadfc..00765c1c111d 100644
--- a/arch/arm/boot/dts/ste-ab8500.dtsi
+++ b/arch/arm/boot/dts/ste-ab8500.dtsi
@@ -34,7 +34,7 @@ ab8500_clock: clock-controller {
 					#clock-cells = <1>;
 				};
 
-				ab8500_gpio: ab8500-gpio {
+				ab8500_gpio: ab8500-gpiocontroller {
 					compatible = "stericsson,ab8500-gpio";
 					gpio-controller;
 					#gpio-cells = <2>;
diff --git a/arch/arm/boot/dts/ste-ab8505.dtsi b/arch/arm/boot/dts/ste-ab8505.dtsi
index 3380afa74c14..0defc15b9bbc 100644
--- a/arch/arm/boot/dts/ste-ab8505.dtsi
+++ b/arch/arm/boot/dts/ste-ab8505.dtsi
@@ -31,7 +31,7 @@ ab8500_clock: clock-controller {
 					#clock-cells = <1>;
 				};
 
-				ab8505_gpio: ab8505-gpio {
+				ab8505_gpio: ab8505-gpiocontroller {
 					compatible = "stericsson,ab8505-gpio";
 					gpio-controller;
 					#gpio-cells = <2>;
diff --git a/arch/arm/boot/dts/ste-href-ab8500.dtsi b/arch/arm/boot/dts/ste-href-ab8500.dtsi
index 4946743de7b9..3ccb7b5c7162 100644
--- a/arch/arm/boot/dts/ste-href-ab8500.dtsi
+++ b/arch/arm/boot/dts/ste-href-ab8500.dtsi
@@ -9,7 +9,7 @@ / {
 	soc {
 		prcmu@80157000 {
 			ab8500 {
-				ab8500-gpio {
+				ab8500-gpiocontroller {
 					/* Hog a few default settings */
 					pinctrl-names = "default";
 					pinctrl-0 = <&gpio2_default_mode>,
diff --git a/arch/arm/boot/dts/ste-href.dtsi b/arch/arm/boot/dts/ste-href.dtsi
index 83b179692dff..7566b4963ef6 100644
--- a/arch/arm/boot/dts/ste-href.dtsi
+++ b/arch/arm/boot/dts/ste-href.dtsi
@@ -202,7 +202,7 @@ msp3: msp@80125000 {
 
 		prcmu@80157000 {
 			ab8500 {
-				ab8500-gpio {
+				ab8500-gpiocontroller {
 				};
 
 				ab8500_usb {
diff --git a/arch/arm/boot/dts/ste-snowball.dts b/arch/arm/boot/dts/ste-snowball.dts
index b344b3748143..40f1d7c9c1d4 100644
--- a/arch/arm/boot/dts/ste-snowball.dts
+++ b/arch/arm/boot/dts/ste-snowball.dts
@@ -376,7 +376,7 @@ spi@80002000 {
 
 		prcmu@80157000 {
 			ab8500 {
-				ab8500-gpio {
+				ab8500-gpiocontroller {
 					/*
 					 * AB8500 GPIOs are numbered starting from 1, so the first
 					 * index 0 is what in the datasheet is called "GPIO1", and
-- 
2.30.2


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

* [PATCH 4/6] dt-bindings: power: supply: charger-manager: Convert to DT schema format
  2021-04-12 23:03 [PATCH 0/6] Convert remaining power-supply DT bindings to YAML Sebastian Reichel
                   ` (2 preceding siblings ...)
  2021-04-12 23:03 ` [PATCH 3/6] ARM: dts: ux500: Rename gpio-controller node Sebastian Reichel
@ 2021-04-12 23:03 ` Sebastian Reichel
  2021-04-13 15:26   ` Rob Herring
  2021-04-12 23:03 ` [PATCH 5/6] dt-bindings: power: mfd: max8925: " Sebastian Reichel
  2021-04-12 23:03 ` [PATCH 6/6] dt-bindings: power: mfd: ab8500: " Sebastian Reichel
  5 siblings, 1 reply; 13+ messages in thread
From: Sebastian Reichel @ 2021-04-12 23:03 UTC (permalink / raw)
  To: Sebastian Reichel, Rob Herring
  Cc: Lee Jones, Linus Walleij, linux-pm, devicetree, linux-kernel,
	Sebastian Reichel, kernel

Convert the binding to DT schema format.

I slightly modified the binding by allowing regulator-[0-9] and cable-[0-9]
instead of regulator@[0-9] and cable@[0-9], so that DT compiler does not
complain about missing 'reg' property. The driver actually ignores the
nodename and can handle both styles.

Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
---
 .../bindings/power/supply/charger-manager.txt |  91 --------
 .../power/supply/charger-manager.yaml         | 215 ++++++++++++++++++
 2 files changed, 215 insertions(+), 91 deletions(-)
 delete mode 100644 Documentation/devicetree/bindings/power/supply/charger-manager.txt
 create mode 100644 Documentation/devicetree/bindings/power/supply/charger-manager.yaml

diff --git a/Documentation/devicetree/bindings/power/supply/charger-manager.txt b/Documentation/devicetree/bindings/power/supply/charger-manager.txt
deleted file mode 100644
index b5ae9061b7a0..000000000000
--- a/Documentation/devicetree/bindings/power/supply/charger-manager.txt
+++ /dev/null
@@ -1,91 +0,0 @@
-charger-manager bindings
-~~~~~~~~~~~~~~~~~~~~~~~~
-
-Required properties :
- - compatible : "charger-manager"
- - <>-supply : for regulator consumer, named according to cm-regulator-name
- - cm-chargers : name of chargers
- - cm-fuel-gauge : name of battery fuel gauge
- - subnode <regulator> :
-	- cm-regulator-name : name of charger regulator
-	- subnode <cable> :
-		- cm-cable-name : name of charger cable - one of USB, USB-HOST,
-			SDP, DCP, CDP, ACA, FAST-CHARGER, SLOW-CHARGER, WPT,
-			PD, DOCK, JIG, or MECHANICAL
-		- cm-cable-extcon : name of extcon dev
-(optional)	- cm-cable-min : minimum current of cable
-(optional)	- cm-cable-max : maximum current of cable
-
-Optional properties :
- - cm-name : charger manager's name (default : "battery")
- - cm-poll-mode : polling mode - 0 for disabled, 1 for always, 2 for when
-	external power is connected, or 3 for when charging.  If not present,
-	then polling is disabled
- - cm-poll-interval : polling interval (in ms)
- - cm-battery-stat : battery status - 0 for battery always present, 1 for no
-	battery, 2 to check presence via fuel gauge, or 3 to check presence
-	via charger
- - cm-fullbatt-vchkdrop-volt : voltage drop (in uV) before restarting charging
- - cm-fullbatt-voltage : voltage (in uV) of full battery
- - cm-fullbatt-soc : state of charge to consider as full battery
- - cm-fullbatt-capacity : capcity (in uAh) to consider as full battery
- - cm-thermal-zone : name of external thermometer's thermal zone
- - cm-battery-* : threshold battery temperature for charging
-	-cold : critical cold temperature of battery for charging
-	-cold-in-minus : flag that cold temperature is in minus degrees
-	-hot : critical hot temperature of battery for charging
-	-temp-diff : temperature difference to allow recharging
- - cm-dis/charging-max = limits of charging duration
-
-Deprecated properties:
- - cm-num-chargers
- - cm-fullbatt-vchkdrop-ms
-
-Example :
-	charger-manager@0 {
-		compatible = "charger-manager";
-		chg-reg-supply = <&charger_regulator>;
-
-		cm-name = "battery";
-		/* Always polling ON : 30s */
-		cm-poll-mode = <1>;
-		cm-poll-interval = <30000>;
-
-		cm-fullbatt-vchkdrop-volt = <150000>;
-		cm-fullbatt-soc = <100>;
-
-		cm-battery-stat = <3>;
-
-		cm-chargers = "charger0", "charger1", "charger2";
-
-		cm-fuel-gauge = "fuelgauge0";
-
-		cm-thermal-zone = "thermal_zone.1"
-		/* in deci centigrade */
-		cm-battery-cold = <50>;
-		cm-battery-cold-in-minus;
-		cm-battery-hot = <800>;
-		cm-battery-temp-diff = <100>;
-
-		/* Allow charging for 5hr */
-		cm-charging-max = <18000000>;
-		/* Allow discharging for 2hr */
-		cm-discharging-max = <7200000>;
-
-		regulator@0 {
-			cm-regulator-name = "chg-reg";
-			cable@0 {
-				cm-cable-name = "USB";
-				cm-cable-extcon = "extcon-dev.0";
-				cm-cable-min = <475000>;
-				cm-cable-max = <500000>;
-			};
-			cable@1 {
-				cm-cable-name = "SDP";
-				cm-cable-extcon = "extcon-dev.0";
-				cm-cable-min = <650000>;
-				cm-cable-max = <675000>;
-			};
-		};
-
-	};
diff --git a/Documentation/devicetree/bindings/power/supply/charger-manager.yaml b/Documentation/devicetree/bindings/power/supply/charger-manager.yaml
new file mode 100644
index 000000000000..c863cfa67865
--- /dev/null
+++ b/Documentation/devicetree/bindings/power/supply/charger-manager.yaml
@@ -0,0 +1,215 @@
+# SPDX-License-Identifier: GPL-2.0
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/power/supply/charger-manager.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Charger Manager
+
+maintainers:
+  - Sebastian Reichel <sre@kernel.org>
+
+description: |
+  Binding for the legacy charger manager driver.
+  Please do not use for new products.
+
+properties:
+  compatible:
+    const: charger-manager
+
+  cm-chargers:
+    description: name of chargers
+    $ref: /schemas/types.yaml#/definitions/string-array
+
+  cm-num-chargers:
+    $ref: /schemas/types.yaml#/definitions/uint32
+    deprecated: true
+
+  cm-fuel-gauge:
+    description: name of battery fuel gauge
+    $ref: /schemas/types.yaml#/definitions/string
+
+  cm-name:
+    description: name of the charger manager
+    default: battery
+    $ref: /schemas/types.yaml#/definitions/string
+
+  cm-poll-mode:
+    description: polling mode
+    default: 0
+    enum:
+      - 0 # disabled
+      - 1 # always
+      - 2 # when external power is connected
+      - 3 # when charging
+
+  cm-poll-interval:
+    description: polling interval (in ms)
+    $ref: /schemas/types.yaml#/definitions/uint32
+
+  cm-battery-stat:
+    description: battery status
+    enum:
+      - 0 # battery always present
+      - 1 # no battery
+      - 2 # check presence via fuel gauge
+      - 3 # check presence via charger
+
+  cm-fullbatt-vchkdrop-volt:
+    description: voltage drop before restarting charging in uV
+    $ref: /schemas/types.yaml#/definitions/uint32
+
+  cm-fullbatt-vchkdrop-ms:
+    deprecated: true
+
+  cm-fullbatt-voltage:
+    description: voltage of full battery in uV
+    $ref: /schemas/types.yaml#/definitions/uint32
+
+  cm-fullbatt-soc:
+    description: state of charge to consider as full battery in %
+    $ref: /schemas/types.yaml#/definitions/uint32
+
+  cm-fullbatt-capacity:
+    description: capcity to consider as full battery in uAh
+    $ref: /schemas/types.yaml#/definitions/uint32
+
+  cm-thermal-zone:
+    description: name of external thermometer's thermal zone
+    $ref: /schemas/types.yaml#/definitions/string
+
+  cm-discharging-max:
+    description: limits of discharging duration in ms
+    $ref: /schemas/types.yaml#/definitions/uint32
+
+  cm-charging-max:
+    description: limits of charging duration in ms
+    $ref: /schemas/types.yaml#/definitions/uint32
+
+  cm-battery-cold:
+    description: critical cold temperature of battery for charging in deci-degree celsius
+    $ref: /schemas/types.yaml#/definitions/uint32
+
+  cm-battery-cold-in-minus:
+    description: if set cm-battery-cold temperature is in minus degrees
+    type: boolean
+
+  cm-battery-hot:
+    description: critical hot temperature of battery for charging in deci-degree celsius
+    $ref: /schemas/types.yaml#/definitions/uint32
+
+  cm-battery-temp-diff:
+    description: temperature difference to allow recharging in deci-degree celsius
+    $ref: /schemas/types.yaml#/definitions/uint32
+
+patternProperties:
+  "-supply$":
+    description: regulator consumer, named according to cm-regulator-name
+    $ref: /schemas/types.yaml#/definitions/phandle
+
+  "^regulator[@-][0-9]$":
+    type: object
+    properties:
+      cm-regulator-name:
+        description: name of charger regulator
+        $ref: /schemas/types.yaml#/definitions/string
+
+    required:
+      - cm-regulator-name
+
+    additionalProperties: false
+
+    patternProperties:
+      "^cable[@-][0-9]$":
+        type: object
+        properties:
+          cm-cable-name:
+            description: name of charger cable
+            enum:
+              - USB
+              - USB-HOST
+              - SDP
+              - DCP
+              - CDP
+              - ACA
+              - FAST-CHARGER
+              - SLOW-CHARGER
+              - WPT
+              - PD
+              - DOCK
+              - JIG
+              - MECHANICAL
+
+          cm-cable-extcon:
+            description: name of extcon dev
+            $ref: /schemas/types.yaml#/definitions/string
+
+          cm-cable-min:
+            description: minimum current of cable in uA
+            $ref: /schemas/types.yaml#/definitions/uint32
+
+          cm-cable-max:
+            description: maximum current of cable in uA
+            $ref: /schemas/types.yaml#/definitions/uint32
+
+        required:
+          - cm-cable-name
+          - cm-cable-extcon
+
+        additionalProperties: false
+
+required:
+  - compatible
+  - cm-chargers
+  - cm-fuel-gauge
+
+additionalProperties: false
+
+examples:
+  - |
+    charger-manager {
+        compatible = "charger-manager";
+        chg-reg-supply = <&charger_regulator>;
+
+        cm-name = "battery";
+        /* Always polling ON : 30s */
+        cm-poll-mode = <1>;
+        cm-poll-interval = <30000>;
+
+        cm-fullbatt-vchkdrop-volt = <150000>;
+        cm-fullbatt-soc = <100>;
+
+        cm-battery-stat = <3>;
+
+        cm-chargers = "charger0", "charger1", "charger2";
+
+        cm-fuel-gauge = "fuelgauge0";
+
+        cm-thermal-zone = "thermal_zone.1";
+        /* in deci centigrade */
+        cm-battery-cold = <50>;
+        cm-battery-cold-in-minus;
+        cm-battery-hot = <800>;
+        cm-battery-temp-diff = <100>;
+
+        /* Allow charging for 5hr */
+        cm-charging-max = <18000000>;
+        /* Allow discharging for 2hr */
+        cm-discharging-max = <7200000>;
+
+        regulator-0 {
+            cm-regulator-name = "chg-reg";
+            cable-0 {
+                cm-cable-name = "USB";
+                cm-cable-extcon = "extcon-dev.0";
+                cm-cable-min = <475000>;
+                cm-cable-max = <500000>;
+            };
+            cable-1 {
+                cm-cable-name = "SDP";
+                cm-cable-extcon = "extcon-dev.0";
+                cm-cable-min = <650000>;
+                cm-cable-max = <675000>;
+            };
+        };
+    };
-- 
2.30.2


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

* [PATCH 5/6] dt-bindings: power: mfd: max8925: Convert to DT schema format
  2021-04-12 23:03 [PATCH 0/6] Convert remaining power-supply DT bindings to YAML Sebastian Reichel
                   ` (3 preceding siblings ...)
  2021-04-12 23:03 ` [PATCH 4/6] dt-bindings: power: supply: charger-manager: Convert to DT schema format Sebastian Reichel
@ 2021-04-12 23:03 ` Sebastian Reichel
  2021-04-13 15:34   ` Rob Herring
  2021-04-12 23:03 ` [PATCH 6/6] dt-bindings: power: mfd: ab8500: " Sebastian Reichel
  5 siblings, 1 reply; 13+ messages in thread
From: Sebastian Reichel @ 2021-04-12 23:03 UTC (permalink / raw)
  To: Sebastian Reichel, Rob Herring
  Cc: Lee Jones, Linus Walleij, linux-pm, devicetree, linux-kernel,
	Sebastian Reichel, kernel

Convert the binding to DT schema format.

The sub-functions of this MFD device do not have their own compatible
string and are thus described directly in the MFD binding document
after being converted to YAML.

Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
---
 .../leds/backlight/max8925-backlight.txt      |  10 --
 .../devicetree/bindings/mfd/max8925.txt       |  64 --------
 .../bindings/mfd/maxim,max8925.yaml           | 139 ++++++++++++++++++
 .../bindings/power/supply/max8925_battery.txt |  18 ---
 4 files changed, 139 insertions(+), 92 deletions(-)
 delete mode 100644 Documentation/devicetree/bindings/leds/backlight/max8925-backlight.txt
 delete mode 100644 Documentation/devicetree/bindings/mfd/max8925.txt
 create mode 100644 Documentation/devicetree/bindings/mfd/maxim,max8925.yaml
 delete mode 100644 Documentation/devicetree/bindings/power/supply/max8925_battery.txt

diff --git a/Documentation/devicetree/bindings/leds/backlight/max8925-backlight.txt b/Documentation/devicetree/bindings/leds/backlight/max8925-backlight.txt
deleted file mode 100644
index b4cffdaa4137..000000000000
--- a/Documentation/devicetree/bindings/leds/backlight/max8925-backlight.txt
+++ /dev/null
@@ -1,10 +0,0 @@
-88pm860x-backlight bindings
-
-Optional properties:
-  - maxim,max8925-dual-string: whether support dual string
-
-Example:
-
-	backlights {
-		maxim,max8925-dual-string = <0>;
-	};
diff --git a/Documentation/devicetree/bindings/mfd/max8925.txt b/Documentation/devicetree/bindings/mfd/max8925.txt
deleted file mode 100644
index 4f0dc6638e5e..000000000000
--- a/Documentation/devicetree/bindings/mfd/max8925.txt
+++ /dev/null
@@ -1,64 +0,0 @@
-* Maxim max8925 Power Management IC
-
-Required parent device properties:
-- compatible : "maxim,max8925"
-- reg : the I2C slave address for the max8925 chip
-- interrupts : IRQ line for the max8925 chip
-- interrupt-controller: describes the max8925 as an interrupt
-  controller (has its own domain)
-- #interrupt-cells : should be 1.
-	- The cell is the max8925 local IRQ number
-
-Optional parent device properties:
-- maxim,tsc-irq: there are 2 IRQ lines for max8925, one is indicated in
-  interrupts property, the other is indicated here.
-
-max8925 consists of a large and varied group of sub-devices:
-
-Device			 Supply Names	 Description
-------			 ------------	 -----------
-max8925-onkey		:		: On key
-max8925-rtc		:		: RTC
-max8925-regulator	:		: Regulators
-max8925-backlight	:		: Backlight
-max8925-touch		:		: Touchscreen
-max8925-power		:		: Charger
-
-Example:
-
-	pmic: max8925@3c {
-		compatible = "maxim,max8925";
-		reg = <0x3c>;
-		interrupts = <1>;
-		interrupt-parent = <&intcmux4>;
-		interrupt-controller;
-		#interrupt-cells = <1>;
-		maxim,tsc-irq = <0>;
-
-		regulators {
-			SDV1 {
-				regulator-min-microvolt = <637500>;
-				regulator-max-microvolt = <1425000>;
-				regulator-boot-on;
-				regulator-always-on;
-			};
-
-			LDO1 {
-				regulator-min-microvolt = <750000>;
-				regulator-max-microvolt = <3900000>;
-				regulator-boot-on;
-				regulator-always-on;
-			};
-
-		};
-		backlight {
-			maxim,max8925-dual-string = <0>;
-		};
-		charger {
-			batt-detect = <0>;
-			topoff-threshold = <1>;
-			fast-charge = <7>;
-			no-temp-support = <0>;
-			no-insert-detect = <0>;
-		};
-	};
diff --git a/Documentation/devicetree/bindings/mfd/maxim,max8925.yaml b/Documentation/devicetree/bindings/mfd/maxim,max8925.yaml
new file mode 100644
index 000000000000..45365c53bb46
--- /dev/null
+++ b/Documentation/devicetree/bindings/mfd/maxim,max8925.yaml
@@ -0,0 +1,139 @@
+# SPDX-License-Identifier: GPL-2.0
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/mfd/maxim,max8925.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: MAX8925 PMIC from Maxim Integrated.
+
+maintainers:
+  - Lee Jones <lee.jones@linaro.org>
+
+properties:
+  compatible:
+    const: maxim,max8925
+
+  reg:
+    maxItems: 1
+
+  interrupts:
+    maxItems: 1
+
+  interrupt-controller: true
+
+  "#interrupt-cells":
+    const: 1
+    description:
+      The cell is the IRQ number
+
+  maxim,tsc-irq:
+    description: second interrupt from max8925
+    $ref: /schemas/types.yaml#/definitions/uint32
+
+  regulators:
+    type: object
+
+    patternProperties:
+      "^SDV[1-3]$|^LDO[1-9]$|^LDO1[0-9]$|^LDO20$":
+        description: regulator configuration for SDV1-3 and LDO1-20
+        $ref: /schemas/regulator/regulator.yaml
+
+    additionalProperties: false
+
+  backlight:
+    type: object
+    properties:
+      maxim,max8925-dual-string:
+        description: set to 1 to support dual string
+        $ref: /schemas/types.yaml#/definitions/uint32
+        enum: [0, 1]
+        default: 0
+
+    additionalProperties: false
+
+  charger:
+    type: object
+    properties:
+      batt-detect:
+        description: set to 1 if battery detection via ID pin is supported
+        enum: [0, 1]
+        default: 0
+
+      topoff-threshold:
+        description: charging current in topoff mode, configures bits 5-6 in CHG_CNTL1
+        minimum: 0
+        maximum: 3
+        default: 0
+
+      fast-charge:
+        description: set charging current in fast mode, configures bits 0-3 in CHG_CNTL1
+        minimum: 0
+        maximum: 7
+        default: 0
+
+      no-temp-support:
+        description: set to 1 if temperature sensing is not supported
+        enum: [0, 1]
+        default: 0
+
+      no-insert-detect:
+        description: set to 1 if AC detection is not supported
+        enum: [0, 1]
+        default: 0
+
+    additionalProperties: false
+
+required:
+  - compatible
+  - reg
+  - interrupts
+  - interrupt-controller
+  - "#interrupt-cells"
+  - regulators
+
+additionalProperties: false
+
+examples:
+  - |
+    i2c {
+        #address-cells = <1>;
+        #size-cells = <0>;
+
+        max8925@3c {
+            compatible = "maxim,max8925";
+            reg = <0x3c>;
+            interrupts = <1>;
+            interrupt-parent = <&intcmux4>;
+            interrupt-controller;
+            #interrupt-cells = <1>;
+            maxim,tsc-irq = <0>;
+
+            regulators {
+                SDV1 {
+                    regulator-min-microvolt = <637500>;
+                    regulator-max-microvolt = <1425000>;
+                    regulator-boot-on;
+                    regulator-always-on;
+                };
+
+                LDO1 {
+                    regulator-min-microvolt = <750000>;
+                    regulator-max-microvolt = <3900000>;
+                    regulator-boot-on;
+                    regulator-always-on;
+                };
+            };
+
+            backlight {
+                maxim,max8925-dual-string = <0>;
+            };
+
+            charger {
+                batt-detect = <0>;
+                topoff-threshold = <1>;
+                fast-charge = <7>;
+                no-temp-support = <0>;
+                no-insert-detect = <0>;
+            };
+        };
+    };
diff --git a/Documentation/devicetree/bindings/power/supply/max8925_battery.txt b/Documentation/devicetree/bindings/power/supply/max8925_battery.txt
deleted file mode 100644
index d7e3e0c0f71d..000000000000
--- a/Documentation/devicetree/bindings/power/supply/max8925_battery.txt
+++ /dev/null
@@ -1,18 +0,0 @@
-max8925-battery bindings
-~~~~~~~~~~~~~~~~
-
-Optional properties :
- - batt-detect: whether support battery detect
- - topoff-threshold: set charging current in topoff mode
- - fast-charge: set charging current in fast mode
- - no-temp-support: whether support temperature protection detect
- - no-insert-detect: whether support insert detect
-
-Example:
-	charger {
-		batt-detect = <0>;
-		topoff-threshold = <1>;
-		fast-charge = <7>;
-		no-temp-support = <0>;
-		no-insert-detect = <0>;
-	};
-- 
2.30.2


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

* [PATCH 6/6] dt-bindings: power: mfd: ab8500: Convert to DT schema format
  2021-04-12 23:03 [PATCH 0/6] Convert remaining power-supply DT bindings to YAML Sebastian Reichel
                   ` (4 preceding siblings ...)
  2021-04-12 23:03 ` [PATCH 5/6] dt-bindings: power: mfd: max8925: " Sebastian Reichel
@ 2021-04-12 23:03 ` Sebastian Reichel
  2021-04-13 15:57   ` Rob Herring
  5 siblings, 1 reply; 13+ messages in thread
From: Sebastian Reichel @ 2021-04-12 23:03 UTC (permalink / raw)
  To: Sebastian Reichel, Rob Herring
  Cc: Lee Jones, Linus Walleij, linux-pm, devicetree, linux-kernel,
	Sebastian Reichel, kernel

Convert the binding to DT schema format.

I slightly modified the binding by renaming the gpio node from
ab8500-gpio to ab8500-gpiocontroller, since the -gpio suffix
is used for gpio consumers.

Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
---
 .../devicetree/bindings/mfd/ab8500.txt        | 280 -------
 .../bindings/mfd/stericsson,ab8500.yaml       | 696 ++++++++++++++++++
 .../bindings/pinctrl/ste,abx500.txt           | 318 --------
 .../supply/stericsson,ab8500-battery.txt      |  34 -
 4 files changed, 696 insertions(+), 632 deletions(-)
 delete mode 100644 Documentation/devicetree/bindings/mfd/ab8500.txt
 create mode 100644 Documentation/devicetree/bindings/mfd/stericsson,ab8500.yaml
 delete mode 100644 Documentation/devicetree/bindings/pinctrl/ste,abx500.txt
 delete mode 100644 Documentation/devicetree/bindings/power/supply/stericsson,ab8500-battery.txt

diff --git a/Documentation/devicetree/bindings/mfd/ab8500.txt b/Documentation/devicetree/bindings/mfd/ab8500.txt
deleted file mode 100644
index d2a6e835c257..000000000000
--- a/Documentation/devicetree/bindings/mfd/ab8500.txt
+++ /dev/null
@@ -1,280 +0,0 @@
-* AB8500 Multi-Functional Device (MFD)
-
-Required parent device properties:
-- compatible             : contains "stericsson,ab8500" or "stericsson,ab8505";
-- interrupts             : contains the IRQ line for the AB8500
-- interrupt-controller   : describes the AB8500 as an Interrupt Controller (has its own domain)
-- #interrupt-cells       : should be 2, for 2-cell format
-                            - The first cell is the AB8500 local IRQ number
-                            - The second cell is used to specify optional parameters
-                              - bits[3:0] trigger type and level flags:
-                                  1 = low-to-high edge triggered
-                                  2 = high-to-low edge triggered
-                                  4 = active high level-sensitive
-                                  8 = active low level-sensitive
-
-The AB8500 consists of a large and varied group of sub-devices:
-
-Device                     IRQ Names              Supply Names   Description
-------                     ---------              ------------   -----------
-ab8500-bm                :                      :              : Battery Manager
-ab8500-btemp             :                      :              : Battery Temperature
-ab8500-charger           :                      :              : Battery Charger
-ab8500-codec             :                      :              : Audio Codec
-ab8500-fg                : 			: vddadc       : Fuel Gauge
-			 : NCONV_ACCU           :	       : Accumulate N Sample Conversion
-			 : BATT_OVV		:	       : Battery Over Voltage
-			 : LOW_BAT_F		:	       : LOW threshold battery voltage
-			 : CC_INT_CALIB		:	       : Coulomb Counter Internal Calibration
-			 : CCEOC		:	       : Coulomb Counter End of Conversion
-ab8500-btemp		 :			: vtvout       : Battery Temperature
-			 : BAT_CTRL_INDB        :              : Battery Removal Indicator
-			 : BTEMP_LOW            :              : Btemp < BtempLow, if battery temperature is lower than -10°C
-			 : BTEMP_LOW_MEDIUM     :              : BtempLow < Btemp < BtempMedium,if battery temperature is between -10 and 0°C
-			 : BTEMP_MEDIUM_HIGH    :	       : BtempMedium < Btemp < BtempHigh,if battery temperature is between 0°C and MaxTemp
-			 : BTEMP_HIGH           :              : Btemp > BtempHigh, if battery temperature is higher than MaxTemp
-ab8500-charger		 :			: vddadc       : Charger interface
-			 : MAIN_CH_UNPLUG_DET	:	       : main charger unplug detection management (not in 8505)
-			 : MAIN_CHARGE_PLUG_DET	:	       : main charger plug detection management (not in 8505)
-			 : MAIN_EXT_CH_NOT_OK	:	       : main charger not OK
-			 : MAIN_CH_TH_PROT_R	:	       : Die temp is above main charger
-			 : MAIN_CH_TH_PROT_F	:	       : Die temp is below main charger
-			 : VBUS_DET_F		:	       : VBUS falling detected
-			 : VBUS_DET_R		:	       : VBUS rising detected
-			 : USB_LINK_STATUS	:	       : USB link status has changed
-			 : USB_CH_TH_PROT_R	:	       : Die temp is above usb charger
-			 : USB_CH_TH_PROT_F	:	       : Die temp is below usb charger
-			 : USB_CHARGER_NOT_OKR	:	       : allowed USB charger not ok detection
-			 : VBUS_OVV		:	       : Overvoltage on Vbus ball detected (USB charge is stopped)
-			 : CH_WD_EXP		:	       : Charger watchdog detected
-ab8500-gpadc             : HW_CONV_END          : vddadc       : Analogue to Digital Converter
-                           SW_CONV_END          :              :
-ab8500-gpio              :                      :              : GPIO Controller (AB8500)
-ab8505-gpio              :                      :              : GPIO Controller (AB8505)
-ab8500-ponkey            : ONKEY_DBF            :              : Power-on Key
-                           ONKEY_DBR            :              :
-ab8500-pwm               :                      :              : Pulse Width Modulator
-ab8500-regulator         :                      :              : Regulators (AB8500)
-ab8505-regulator         :                      :              : Regulators (AB8505)
-ab8500-rtc               : 60S                  :              : Real Time Clock
-                         : ALARM                :              :
-ab8500-sysctrl           :                      :              : System Control
-ab8500-usb               : ID_WAKEUP_R          : vddulpivio18 : Universal Serial Bus
-                         : ID_WAKEUP_F          : v-ape        :
-                         : VBUS_DET_F           : musb_1v8     :
-                         : VBUS_DET_R           :              :
-                         : USB_LINK_STATUS      :              :
-                         : USB_ADP_PROBE_PLUG   :              :
-                         : USB_ADP_PROBE_UNPLUG :              :
-
-Required child device properties:
-- compatible             : "stericsson,ab8500-[bm|btemp|charger|fg|gpadc|gpio|ponkey|
-                                               pwm|regulator|rtc|sysctrl|usb]";
-
-  A few child devices require ADC channels from the GPADC node. Those follow the
-  standard bindings from iio/iio-bindings.txt and iio/adc/adc.txt
-
-  abx500-temp		 : io-channels "aux1" and "aux2" for measuring external
-			   temperatures.
-  ab8500-fg		 : io-channel "main_bat_v" for measuring main battery voltage,
-  ab8500-btemp		 : io-channels "btemp_ball" and "bat_ctrl" for measuring the
-			   battery voltage.
-  ab8500-charger	 : io-channels "main_charger_v", "main_charger_c", "vbus_v",
-			   "usb_charger_c" for measuring voltage and current of the
-			   different charging supplies.
-
-Optional child device properties:
-- interrupts             : contains the device IRQ(s) using the 2-cell format (see above)
-- interrupt-names        : contains names of IRQ resource in the order in which they were
-                           supplied in the interrupts property
-- <supply_name>-supply   : contains a phandle to the regulator supply node in Device Tree
-
-Non-standard child device properties:
- - Audio CODEC:
-   - stericsson,amic[1|2]-type-single-ended : Single-ended Analoge Mic (default: differential)
-   - stericsson,amic1a-bias-vamic2          : Analoge Mic wishes to use a non-standard Vamic
-   - stericsson,amic1b-bias-vamic2          : Analoge Mic wishes to use a non-standard Vamic
-   - stericsson,amic2-bias-vamic1           : Analoge Mic wishes to use a non-standard Vamic
-   - stericsson,earpeice-cmv                : Earpeice voltage (only: 950 | 1100 | 1270 | 1580)
-
-ab8500 {
-         compatible = "stericsson,ab8500";
-         interrupts = <0 40 0x4>;
-         interrupt-controller;
-         #interrupt-cells = <2>;
-
-         ab8500-rtc {
-                 compatible = "stericsson,ab8500-rtc";
-                 interrupts = <17 0x4
-                               18 0x4>;
-                 interrupt-names = "60S", "ALARM";
-         };
-
-        ab8500-gpadc {
-                compatible = "stericsson,ab8500-gpadc";
-                interrupts = <32 0x4
-                              39 0x4>;
-                interrupt-names = "HW_CONV_END", "SW_CONV_END";
-                vddadc-supply = <&ab8500_ldo_tvout_reg>;
-		#address-cells = <1>;
-		#size-cells = <0>;
-		#io-channel-cells = <1>;
-
-		/* GPADC channels */
-		bat_ctrl: channel@1 {
-			reg = <0x01>;
-		};
-		btemp_ball: channel@2 {
-			reg = <0x02>;
-		};
-		main_charger_v: channel@3 {
-			reg = <0x03>;
-		};
-		acc_detect1: channel@4 {
-			reg = <0x04>;
-		};
-		acc_detect2: channel@5 {
-			reg = <0x05>;
-		};
-		adc_aux1: channel@6 {
-			reg = <0x06>;
-		};
-		adc_aux2: channel@7 {
-			reg = <0x07>;
-		};
-		main_batt_v: channel@8 {
-			reg = <0x08>;
-		};
-		vbus_v: channel@9 {
-			reg = <0x09>;
-		};
-		main_charger_c: channel@a {
-			reg = <0x0a>;
-		};
-		usb_charger_c: channel@b {
-			reg = <0x0b>;
-		};
-		bk_bat_v: channel@c {
-			reg = <0x0c>;
-		};
-		die_temp: channel@d {
-			reg = <0x0d>;
-		};
-		usb_id: channel@e {
-			reg = <0x0e>;
-		};
-		xtal_temp: channel@12 {
-			reg = <0x12>;
-		};
-		vbat_true_meas: channel@13 {
-			reg = <0x13>;
-		};
-		bat_ctrl_and_ibat: channel@1c {
-			reg = <0x1c>;
-		};
-		vbat_meas_and_ibat: channel@1d {
-			reg = <0x1d>;
-		};
-		vbat_true_meas_and_ibat: channel@1e {
-			reg = <0x1e>;
-		};
-		bat_temp_and_ibat: channel@1f {
-			reg = <0x1f>;
-		};
-        };
-
-	ab8500_temp {
-		compatible = "stericsson,abx500-temp";
-		io-channels = <&gpadc 0x06>,
-			      <&gpadc 0x07>;
-		io-channel-name = "aux1", "aux2";
-	};
-
-	ab8500_battery: ab8500_battery {
-		stericsson,battery-type = "LIPO";
-		thermistor-on-batctrl;
-	};
-
-	ab8500_fg {
-		compatible = "stericsson,ab8500-fg";
-		battery	   = <&ab8500_battery>;
-		io-channels = <&gpadc 0x08>;
-		io-channel-name = "main_bat_v";
-	};
-
-	ab8500_btemp {
-		compatible = "stericsson,ab8500-btemp";
-		battery	   = <&ab8500_battery>;
-		io-channels = <&gpadc 0x02>,
-			      <&gpadc 0x01>;
-		io-channel-name = "btemp_ball",
-				"bat_ctrl";
-	};
-
-	ab8500_charger {
-		compatible	= "stericsson,ab8500-charger";
-		battery		= <&ab8500_battery>;
-		vddadc-supply	= <&ab8500_ldo_tvout_reg>;
-		io-channels = <&gpadc 0x03>,
-			      <&gpadc 0x0a>,
-			      <&gpadc 0x09>,
-			      <&gpadc 0x0b>;
-		io-channel-name = "main_charger_v",
-				"main_charger_c",
-				"vbus_v",
-				"usb_charger_c";
-	};
-
-        ab8500-usb {
-                compatible = "stericsson,ab8500-usb";
-                interrupts = < 90 0x4
-                               96 0x4
-                               14 0x4
-                               15 0x4
-                               79 0x4
-                               74 0x4
-                               75 0x4>;
-                interrupt-names = "ID_WAKEUP_R",
-                                  "ID_WAKEUP_F",
-                                  "VBUS_DET_F",
-                                  "VBUS_DET_R",
-                                  "USB_LINK_STATUS",
-                                  "USB_ADP_PROBE_PLUG",
-                                  "USB_ADP_PROBE_UNPLUG";
-                vddulpivio18-supply = <&ab8500_ldo_intcore_reg>;
-                v-ape-supply = <&db8500_vape_reg>;
-                musb_1v8-supply = <&db8500_vsmps2_reg>;
-        };
-
-        ab8500-ponkey {
-                compatible = "stericsson,ab8500-ponkey";
-                interrupts = <6 0x4
-                              7 0x4>;
-                interrupt-names = "ONKEY_DBF", "ONKEY_DBR";
-        };
-
-        ab8500-sysctrl {
-                compatible = "stericsson,ab8500-sysctrl";
-        };
-
-        ab8500-pwm {
-                compatible = "stericsson,ab8500-pwm";
-        };
-
-	codec: ab8500-codec {
-		compatible = "stericsson,ab8500-codec";
-
-		stericsson,earpeice-cmv = <950>; /* Units in mV. */
-	};
-
-        ab8500-regulators {
-                compatible = "stericsson,ab8500-regulator";
-
-                ab8500_ldo_aux1_reg: ab8500_ldo_aux1 {
-                        /*
-                         * See: Documentation/devicetree/bindings/regulator/regulator.txt
-                         * for more information on regulators
-                         */
-                };
-        };
-};
diff --git a/Documentation/devicetree/bindings/mfd/stericsson,ab8500.yaml b/Documentation/devicetree/bindings/mfd/stericsson,ab8500.yaml
new file mode 100644
index 000000000000..80d33f21d72f
--- /dev/null
+++ b/Documentation/devicetree/bindings/mfd/stericsson,ab8500.yaml
@@ -0,0 +1,696 @@
+# SPDX-License-Identifier: GPL-2.0
+%YAML 1.2
+---
+$id: "http://devicetree.org/schemas/mfd/stericsson,ab8500.yaml#"
+$schema: "http://devicetree.org/meta-schemas/core.yaml#"
+
+title: AB8500 Multi-Functional Device
+
+maintainers:
+  - Linus Walleij <linus.walleij@linaro.org>
+  - Lee Jones <lee.jones@linaro.org>
+
+properties:
+  compatible:
+    enum:
+      - stericsson,ab8500
+      - stericsson,ab8505
+
+  interrupts:
+    maxItems: 1
+
+  interrupt-controller: true
+
+  "#interrupt-cells":
+    description: First cell is IRQ number, second cell is flags
+    const: 2
+
+  clock-controller:
+    type: object
+    properties:
+      compatible:
+        const: stericsson,ab8500-clk
+
+      "#clock-cells":
+        const: 1
+
+    required:
+      - compatible
+      - "#clock-cells"
+
+    additionalProperties: false
+
+  ab8500-rtc:
+    type: object
+    properties:
+      compatible:
+        const: stericsson,ab8500-rtc
+
+      interrupts:
+        maxItems: 2
+
+      interrupt-names:
+        items:
+          - const: 60S
+          - const: ALARM
+
+    required:
+      - compatible
+      - interrupts
+      - interrupt-names
+
+    additionalProperties: false
+
+  ab8500-gpadc:
+    type: object
+    properties:
+      compatible:
+        const: stericsson,ab8500-gpadc
+
+      interrupts:
+        minItems: 1
+        maxItems: 2
+
+      interrupt-names:
+        minItems: 1
+        maxItems: 2
+        items:
+          anyOf:
+            - const: HW_CONV_END
+            - const: SW_CONV_END
+
+      vddadc-supply:
+        description: analog supply
+
+      "#address-cells":
+        const: 1
+
+      "#size-cells":
+        const: 0
+
+      "#io-channel-cells":
+        const: 1
+
+    required:
+      - compatible
+
+    patternProperties:
+      "^channel@[0-9a-f]+$":
+        type: object
+        properties:
+          reg:
+            maxItems: 1
+
+        required:
+          - reg
+
+        additionalProperties: false
+
+    additionalProperties: false
+
+  ab8500_temp:
+    type: object
+    properties:
+      compatible:
+        const: stericsson,abx500-temp
+
+      interrupts:
+        maxItems: 1
+
+      interrupt-names:
+        items:
+          - const: ABX500_TEMP_WARM
+
+      io-channels:
+        maxItems: 2
+
+      io-channel-names:
+        items:
+          - const: aux1
+          - const: aux2
+
+    required:
+      - compatible
+
+    additionalProperties: false
+
+  ab8500_btemp:
+    type: object
+    $ref: ../power/supply/stericsson,ab8500-btemp.yaml
+
+  ab8500_charger:
+    type: object
+    $ref: ../power/supply/stericsson,ab8500-charger.yaml
+
+  ab8500_fg:
+    type: object
+    $ref: ../power/supply/stericsson,ab8500-fg.yaml
+
+  ab8500_chargalg:
+    type: object
+    $ref: ../power/supply/stericsson,ab8500-chargalg.yaml
+
+  ab8500_battery:
+    type: object
+    properties:
+      stericsson,battery-type:
+        description: battery chemistry
+        enum:
+          - UNKNOWN
+          - NiMH
+          - LION
+          - LIPO
+          - LiFe
+          - NiCd
+          - LiMn
+
+      thermistor-on-batctrl:
+        type: boolean
+        description:
+          if set 'batctrl' is used for thermal measurement, otherwise 'btemp'
+          is used for thermal measurement.
+
+    additionalProperties: false
+
+  ab8500_usb:
+    type: object
+    properties:
+      compatible:
+        const: stericsson,ab8500-usb
+
+      interrupts:
+        maxItems: 7
+
+      interrupt-names:
+        items:
+          - const: ID_WAKEUP_R
+          - const: ID_WAKEUP_F
+          - const: VBUS_DET_F
+          - const: VBUS_DET_R
+          - const: USB_LINK_STATUS
+          - const: USB_ADP_PROBE_PLUG
+          - const: USB_ADP_PROBE_UNPLUG
+
+      vddulpivio18-supply:
+        description: 1.8V VIO
+
+      v-ape-supply:
+        description: V-APE
+
+      musb_1v8-supply:
+        description: MUSB 1.8V
+
+      clocks:
+        maxItems: 1
+
+      clock-names:
+        items:
+          - const: sysclk
+
+    additionalProperties: false
+
+  ab8500-ponkey:
+    type: object
+    properties:
+      compatible:
+        const: stericsson,ab8500-poweron-key
+
+      interrupts:
+        maxItems: 2
+
+      interrupt-names:
+        items:
+          - const: ONKEY_DBF
+          - const: ONKEY_DBR
+
+    additionalProperties: false
+
+  ab8500-sysctrl:
+    type: object
+    properties:
+      compatible:
+        const: stericsson,ab8500-sysctrl
+
+    additionalProperties: false
+
+  ab8500-debugfs:
+    type: object
+    properties:
+      compatible:
+        const: stericsson,ab8500-debug
+
+    additionalProperties: false
+
+  ab8500-codec:
+    type: object
+    properties:
+      compatible:
+        const: stericsson,ab8500-codec
+
+      V-AUD-supply:
+        description: V-AUD supply
+
+      V-AMIC1-supply:
+        description: V-AMIC1 supply
+
+      V-AMIC2-supply:
+        description: V-AMIC2 supply
+
+      V-DMIC-supply:
+        description: V-DMIC supply
+
+      clocks:
+        maxItems: 1
+
+      clock-names:
+        items:
+          - const: audioclk
+
+      stericsson,earpeice-cmv:
+        description: earpiece voltage in mV
+        enum: [950, 1100, 1270, 1580]
+        $ref: /schemas/types.yaml#/definitions/uint32
+
+    additionalProperties: false
+
+  ab8500-ext-regulators:
+    type: object
+    properties:
+      compatible:
+        const: stericsson,ab8500-ext-regulator
+
+    patternProperties:
+      "^ab8500_ext[1-3]$":
+        $ref: /schemas/regulator/regulator.yaml
+
+    additionalProperties: false
+
+patternProperties:
+  "^ab8500-pwm(-[1-3])?$":
+    type: object
+    properties:
+      compatible:
+        const: stericsson,ab8500-pwm
+
+      clocks:
+        maxItems: 1
+
+      clock-names:
+        items:
+          - const: intclk
+
+    additionalProperties: false
+  "^ab850[05]-gpiocontroller$":
+    type: object
+    properties:
+      compatible:
+        enum:
+          - stericsson,ab8500-gpio
+          - stericsson,ab8505-gpio
+          - stericsson,ab8540-gpio
+          - stericsson,ab9540-gpio
+
+      gpio-controller: true
+
+      "#gpio-cells":
+        const: 2
+
+    required:
+      - compatible
+      - gpio-controller
+      - "#gpio-cells"
+
+    patternProperties:
+      "^.*$":
+        $ref: "/schemas/pinctrl/pincfg-node.yaml"
+
+    additionalProperties: false
+
+  "^ab850[05]-regulators$":
+    type: object
+    properties:
+      compatible:
+        enum:
+          - stericsson,ab8500-regulator
+          - stericsson,ab8505-regulator
+
+      vin-supply:
+        description: input supply
+
+    patternProperties:
+      "^ab8500_ldo_adc$|^ab8500_ldo_aux[1-8]$|^ab8500_ldo_intcore$|^ab8500_ldo_tvout$|^ab8500_ldo_audio$|^ab8500_ldo_anamic[12]$|^ab8500_ldo_dmic$|^ab8500_ldo_ana$":
+        $ref: /schemas/regulator/regulator.yaml
+
+    additionalProperties: false
+
+additionalProperties: false
+
+examples:
+  - |
+    #include <dt-bindings/interrupt-controller/arm-gic.h>
+    #include <dt-bindings/interrupt-controller/irq.h>
+    #include <dt-bindings/mfd/dbx500-prcmu.h>
+    #include <dt-bindings/clock/ste-ab8500.h>
+    ab8500 {
+        compatible = "stericsson,ab8500";
+        interrupt-parent = <&intc>;
+        interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>;
+        interrupt-controller;
+        #interrupt-cells = <2>;
+
+        ab8500_clock: clock-controller {
+            compatible = "stericsson,ab8500-clk";
+            #clock-cells = <1>;
+        };
+
+        ab8500_gpio: ab8500-gpiocontroller {
+            compatible = "stericsson,ab8500-gpio";
+            gpio-controller;
+            #gpio-cells = <2>;
+        };
+
+        ab8500-rtc {
+            compatible = "stericsson,ab8500-rtc";
+            interrupts = <17 IRQ_TYPE_LEVEL_HIGH>,
+                         <18 IRQ_TYPE_LEVEL_HIGH>;
+            interrupt-names = "60S", "ALARM";
+        };
+
+        gpadc: ab8500-gpadc {
+            compatible = "stericsson,ab8500-gpadc";
+            interrupts = <32 IRQ_TYPE_LEVEL_HIGH>,
+                         <39 IRQ_TYPE_LEVEL_HIGH>;
+            interrupt-names = "HW_CONV_END", "SW_CONV_END";
+            vddadc-supply = <&ab8500_ldo_tvout_reg>;
+            #address-cells = <1>;
+            #size-cells = <0>;
+            #io-channel-cells = <1>;
+
+            /* GPADC channels */
+            bat_ctrl: channel@1 {
+                reg = <0x01>;
+            };
+            btemp_ball: channel@2 {
+                reg = <0x02>;
+            };
+            main_charger_v: channel@3 {
+                reg = <0x03>;
+            };
+            acc_detect1: channel@4 {
+                reg = <0x04>;
+            };
+            acc_detect2: channel@5 {
+                reg = <0x05>;
+            };
+            adc_aux1: channel@6 {
+                reg = <0x06>;
+            };
+            adc_aux2: channel@7 {
+                reg = <0x07>;
+            };
+            main_batt_v: channel@8 {
+                reg = <0x08>;
+            };
+            vbus_v: channel@9 {
+                reg = <0x09>;
+            };
+            main_charger_c: channel@a {
+                reg = <0x0a>;
+            };
+            usb_charger_c: channel@b {
+                reg = <0x0b>;
+            };
+            bk_bat_v: channel@c {
+                reg = <0x0c>;
+            };
+            die_temp: channel@d {
+                reg = <0x0d>;
+            };
+            usb_id: channel@e {
+                reg = <0x0e>;
+            };
+            xtal_temp: channel@12 {
+                reg = <0x12>;
+            };
+            vbat_true_meas: channel@13 {
+                reg = <0x13>;
+            };
+            bat_ctrl_and_ibat: channel@1c {
+                reg = <0x1c>;
+            };
+            vbat_meas_and_ibat: channel@1d {
+                reg = <0x1d>;
+            };
+            vbat_true_meas_and_ibat: channel@1e {
+                reg = <0x1e>;
+            };
+            bat_temp_and_ibat: channel@1f {
+                reg = <0x1f>;
+            };
+        };
+
+        ab8500_temp {
+            compatible = "stericsson,abx500-temp";
+            interrupts = <3 IRQ_TYPE_LEVEL_HIGH>;
+            interrupt-names = "ABX500_TEMP_WARM";
+            io-channels = <&gpadc 0x06>,
+                          <&gpadc 0x07>;
+            io-channel-names = "aux1", "aux2";
+        };
+
+        ab8500_battery: ab8500_battery {
+            stericsson,battery-type = "LIPO";
+            thermistor-on-batctrl;
+        };
+
+        ab8500_fg {
+            compatible = "stericsson,ab8500-fg";
+            interrupts = <24 IRQ_TYPE_LEVEL_HIGH>,
+                         <8 IRQ_TYPE_LEVEL_HIGH>,
+                         <28 IRQ_TYPE_LEVEL_HIGH>,
+                         <27 IRQ_TYPE_LEVEL_HIGH>,
+                         <26 IRQ_TYPE_LEVEL_HIGH>;
+            interrupt-names = "NCONV_ACCU",
+                              "BATT_OVV",
+                              "LOW_BAT_F",
+                              "CC_INT_CALIB",
+                              "CCEOC";
+            battery = <&ab8500_battery>;
+            io-channels = <&gpadc 0x08>;
+            io-channel-names = "main_bat_v";
+        };
+
+        ab8500_btemp {
+            compatible = "stericsson,ab8500-btemp";
+            interrupts = <20 IRQ_TYPE_LEVEL_HIGH>,
+                         <80 IRQ_TYPE_LEVEL_HIGH>,
+                         <83 IRQ_TYPE_LEVEL_HIGH>,
+                         <81 IRQ_TYPE_LEVEL_HIGH>,
+                         <82 IRQ_TYPE_LEVEL_HIGH>;
+            interrupt-names = "BAT_CTRL_INDB",
+                              "BTEMP_LOW",
+                              "BTEMP_HIGH",
+                              "BTEMP_LOW_MEDIUM",
+                              "BTEMP_MEDIUM_HIGH";
+            battery = <&ab8500_battery>;
+            io-channels = <&gpadc 0x02>,
+                          <&gpadc 0x01>;
+            io-channel-names = "btemp_ball",
+                            "bat_ctrl";
+        };
+
+        ab8500_charger {
+            compatible = "stericsson,ab8500-charger";
+            interrupts = <10 IRQ_TYPE_LEVEL_HIGH>,
+                         <11 IRQ_TYPE_LEVEL_HIGH>,
+                         <0 IRQ_TYPE_LEVEL_HIGH>,
+                         <107 IRQ_TYPE_LEVEL_HIGH>,
+                         <106 IRQ_TYPE_LEVEL_HIGH>,
+                         <14 IRQ_TYPE_LEVEL_HIGH>,
+                         <15 IRQ_TYPE_LEVEL_HIGH>,
+                         <79 IRQ_TYPE_LEVEL_HIGH>,
+                         <105 IRQ_TYPE_LEVEL_HIGH>,
+                         <104 IRQ_TYPE_LEVEL_HIGH>,
+                         <89 IRQ_TYPE_LEVEL_HIGH>,
+                         <22 IRQ_TYPE_LEVEL_HIGH>,
+                         <21 IRQ_TYPE_LEVEL_HIGH>,
+                         <16 IRQ_TYPE_LEVEL_HIGH>;
+            interrupt-names = "MAIN_CH_UNPLUG_DET",
+                              "MAIN_CHARGE_PLUG_DET",
+                              "MAIN_EXT_CH_NOT_OK",
+                              "MAIN_CH_TH_PROT_R",
+                              "MAIN_CH_TH_PROT_F",
+                              "VBUS_DET_F",
+                              "VBUS_DET_R",
+                              "USB_LINK_STATUS",
+                              "USB_CH_TH_PROT_R",
+                              "USB_CH_TH_PROT_F",
+                              "USB_CHARGER_NOT_OKR",
+                              "VBUS_OVV",
+                              "CH_WD_EXP",
+                              "VBUS_CH_DROP_END";
+            battery = <&ab8500_battery>;
+            vddadc-supply = <&ab8500_ldo_tvout_reg>;
+            io-channels = <&gpadc 0x03>,
+                          <&gpadc 0x0a>,
+                          <&gpadc 0x09>,
+                          <&gpadc 0x0b>;
+            io-channel-names = "main_charger_v",
+                            "main_charger_c",
+                            "vbus_v",
+                            "usb_charger_c";
+        };
+
+        ab8500_chargalg {
+            compatible = "stericsson,ab8500-chargalg";
+            battery = <&ab8500_battery>;
+        };
+
+        ab8500_usb {
+            compatible = "stericsson,ab8500-usb";
+            interrupts = <90 IRQ_TYPE_LEVEL_HIGH>,
+                         <96 IRQ_TYPE_LEVEL_HIGH>,
+                         <14 IRQ_TYPE_LEVEL_HIGH>,
+                         <15 IRQ_TYPE_LEVEL_HIGH>,
+                         <79 IRQ_TYPE_LEVEL_HIGH>,
+                         <74 IRQ_TYPE_LEVEL_HIGH>,
+                         <75 IRQ_TYPE_LEVEL_HIGH>;
+            interrupt-names = "ID_WAKEUP_R",
+                              "ID_WAKEUP_F",
+                              "VBUS_DET_F",
+                              "VBUS_DET_R",
+                              "USB_LINK_STATUS",
+                              "USB_ADP_PROBE_PLUG",
+                              "USB_ADP_PROBE_UNPLUG";
+            vddulpivio18-supply = <&ab8500_ldo_intcore_reg>;
+            v-ape-supply = <&db8500_vape_reg>;
+            musb_1v8-supply = <&db8500_vsmps2_reg>;
+            clocks = <&prcmu_clk PRCMU_SYSCLK>;
+            clock-names = "sysclk";
+        };
+
+        ab8500-ponkey {
+            compatible = "stericsson,ab8500-poweron-key";
+            interrupts = <6 IRQ_TYPE_LEVEL_HIGH>,
+                         <7 IRQ_TYPE_LEVEL_HIGH>;
+            interrupt-names = "ONKEY_DBF", "ONKEY_DBR";
+        };
+
+        ab8500-sysctrl {
+            compatible = "stericsson,ab8500-sysctrl";
+        };
+
+        ab8500-pwm-1 {
+            compatible = "stericsson,ab8500-pwm";
+            clocks = <&ab8500_clock AB8500_SYSCLK_INT>;
+            clock-names = "intclk";
+        };
+
+        ab8500-pwm-2 {
+            compatible = "stericsson,ab8500-pwm";
+            clocks = <&ab8500_clock AB8500_SYSCLK_INT>;
+            clock-names = "intclk";
+        };
+
+        ab8500-pwm-3 {
+            compatible = "stericsson,ab8500-pwm";
+            clocks = <&ab8500_clock AB8500_SYSCLK_INT>;
+            clock-names = "intclk";
+        };
+
+        ab8500-debugfs {
+            compatible = "stericsson,ab8500-debug";
+        };
+
+        codec: ab8500-codec {
+            compatible = "stericsson,ab8500-codec";
+
+            V-AUD-supply = <&ab8500_ldo_audio_reg>;
+            V-AMIC1-supply = <&ab8500_ldo_anamic1_reg>;
+            V-AMIC2-supply = <&ab8500_ldo_anamic2_reg>;
+            V-DMIC-supply = <&ab8500_ldo_dmic_reg>;
+
+            clocks = <&ab8500_clock AB8500_SYSCLK_AUDIO>;
+            clock-names = "audioclk";
+
+            stericsson,earpeice-cmv = <950>; /* Units in mV. */
+        };
+
+        ext_regulators: ab8500-ext-regulators {
+            compatible = "stericsson,ab8500-ext-regulator";
+
+            ab8500_ext1_reg: ab8500_ext1 {
+                regulator-min-microvolt = <1800000>;
+                regulator-max-microvolt = <1800000>;
+                regulator-boot-on;
+                regulator-always-on;
+            };
+
+            ab8500_ext2_reg: ab8500_ext2 {
+                regulator-min-microvolt = <1360000>;
+                regulator-max-microvolt = <1360000>;
+                regulator-boot-on;
+                regulator-always-on;
+            };
+
+            ab8500_ext3_reg: ab8500_ext3 {
+                regulator-min-microvolt = <3400000>;
+                regulator-max-microvolt = <3400000>;
+                regulator-boot-on;
+            };
+        };
+
+        ab8500-regulators {
+            compatible = "stericsson,ab8500-regulator";
+            vin-supply = <&ab8500_ext3_reg>;
+
+            // supplies to the display/camera
+            ab8500_ldo_aux1_reg: ab8500_ldo_aux1 {
+                regulator-min-microvolt = <2500000>;
+                regulator-max-microvolt = <2900000>;
+                regulator-boot-on;
+                /* BUG: If turned off MMC will be affected. */
+                regulator-always-on;
+            };
+
+            // supplies to the on-board eMMC
+            ab8500_ldo_aux2_reg: ab8500_ldo_aux2 {
+                regulator-min-microvolt = <1100000>;
+                regulator-max-microvolt = <3300000>;
+            };
+
+            // supply for VAUX3; SDcard slots
+            ab8500_ldo_aux3_reg: ab8500_ldo_aux3 {
+                regulator-min-microvolt = <1100000>;
+                regulator-max-microvolt = <3300000>;
+            };
+
+            // supply for v-intcore12; VINTCORE12 LDO
+            ab8500_ldo_intcore_reg: ab8500_ldo_intcore {
+            };
+
+            // supply for tvout; gpadc; TVOUT LDO
+            ab8500_ldo_tvout_reg: ab8500_ldo_tvout {
+            };
+
+            // supply for ab8500-vaudio; VAUDIO LDO
+            ab8500_ldo_audio_reg: ab8500_ldo_audio {
+            };
+
+            // supply for v-anamic1 VAMIC1 LDO
+            ab8500_ldo_anamic1_reg: ab8500_ldo_anamic1 {
+            };
+
+            // supply for v-amic2; VAMIC2 LDO; reuse constants for AMIC1
+            ab8500_ldo_anamic2_reg: ab8500_ldo_anamic2 {
+            };
+
+            // supply for v-dmic; VDMIC LDO
+            ab8500_ldo_dmic_reg: ab8500_ldo_dmic {
+            };
+
+            // supply for U8500 CSI/DSI; VANA LDO
+            ab8500_ldo_ana_reg: ab8500_ldo_ana {
+            };
+        };
+    };
diff --git a/Documentation/devicetree/bindings/pinctrl/ste,abx500.txt b/Documentation/devicetree/bindings/pinctrl/ste,abx500.txt
deleted file mode 100644
index 87697420439e..000000000000
--- a/Documentation/devicetree/bindings/pinctrl/ste,abx500.txt
+++ /dev/null
@@ -1,318 +0,0 @@
-ST Ericsson abx500 pinmux controller
-
-Required properties:
-- compatible: "stericsson,ab8500-gpio",  "stericsson,ab8540-gpio",
-	      "stericsson,ab8505-gpio", "stericsson,ab9540-gpio",
-
-Please refer to pinctrl-bindings.txt in this directory for details of the
-common pinctrl bindings used by client devices, including the meaning of the
-phrase "pin configuration node".
-
-ST Ericsson's pin configuration nodes use the generic pin multiplexing
-and pin configuration bindings, see pinctrl-bindings.txt
-
-Example board file extract:
-
-&pinctrl_abx500 {
-	pinctrl-names = "default";
-	pinctrl-0 = <&sysclkreq2_default_mode>, <&sysclkreq3_default_mode>, <&gpio3_default_mode>, <&sysclkreq6_default_mode>, <&pwmout1_default_mode>, <&pwmout2_default_mode>, <&pwmout3_default_mode>, <&adi1_default_mode>, <&dmic12_default_mode>, <&dmic34_default_mode>, <&dmic56_default_mode>, <&sysclkreq5_default_mode>, <&batremn_default_mode>, <&service_default_mode>, <&pwrctrl0_default_mode>, <&pwrctrl1_default_mode>, <&pwmextvibra1_default_mode>, <&pwmextvibra2_default_mode>, <&gpio51_default_mode>, <&gpio52_default_mode>, <&gpio53_default_mode>, <&gpio54_default_mode>, <&pdmclkdat_default_mode>;
-
-	sysclkreq2 {
-		sysclkreq2_default_mode: sysclkreq2_default {
-			default_mux {
-				function = "sysclkreq";
-				groups = "sysclkreq2_d_1";
-			};
-			default_cfg {
-				pins = "GPIO1";
-				bias-disable;
-			};
-		};
-	};
-	sysclkreq3 {
-		sysclkreq3_default_mode: sysclkreq3_default {
-			default_mux {
-				function = "sysclkreq";
-				groups = "sysclkreq3_d_1";
-			};
-			default_cfg {
-				pins = "GPIO2";
-				output-low;
-			};
-		};
-	};
-	gpio3 {
-		gpio3_default_mode: gpio3_default {
-			default_mux {
-				function = "gpio";
-				groups = "gpio3_a_1";
-			};
-			default_cfg {
-				pins = "GPIO3";
-				output-low;
-			};
-		};
-	};
-	sysclkreq6 {
-		sysclkreq6_default_mode: sysclkreq6_default {
-			default_mux {
-				function = "sysclkreq";
-				groups = "sysclkreq6_d_1";
-			};
-			default_cfg {
-				pins = "GPIO4";
-				bias-disable;
-			};
-		};
-	};
-	pwmout1 {
-		pwmout1_default_mode: pwmout1_default {
-			default_mux {
-				function = "pwmout";
-				groups = "pwmout1_d_1";
-			};
-			default_cfg {
-				pins = "GPIO14";
-				output-low;
-			};
-		};
-	};
-	pwmout2 {
-		pwmout2_default_mode: pwmout2_default {
-			pwmout2_default_mux {
-				function = "pwmout";
-				groups = "pwmout2_d_1";
-			};
-			pwmout2_default_cfg {
-				pins = "GPIO15";
-				output-low;
-			};
-		};
-	};
-	pwmout3 {
-		pwmout3_default_mode: pwmout3_default {
-			pwmout3_default_mux {
-				function = "pwmout";
-				groups = "pwmout3_d_1";
-			};
-			pwmout3_default_cfg {
-				pins = "GPIO16";
-				output-low;
-			};
-		};
-	};
-	adi1 {
-
-		adi1_default_mode: adi1_default {
-			adi1_default_mux {
-				function = "adi1";
-				groups = "adi1_d_1";
-			};
-			adi1_default_cfg1 {
-				pins = "GPIO17","GPIO19","GPIO20";
-				bias-disable;
-			};
-			adi1_default_cfg2 {
-				pins = "GPIO18";
-				output-low;
-			};
-		};
-	};
-	dmic12 {
-		dmic12_default_mode: dmic12_default {
-			dmic12_default_mux {
-				function = "dmic";
-				groups = "dmic12_d_1";
-			};
-			dmic12_default_cfg1 {
-				pins = "GPIO27";
-				output-low;
-			};
-			dmic12_default_cfg2 {
-				pins = "GPIO28";
-				bias-disable;
-			};
-		};
-	};
-	dmic34 {
-		dmic34_default_mode: dmic34_default {
-			dmic34_default_mux {
-				function = "dmic";
-				groups = "dmic34_d_1";
-			};
-			dmic34_default_cfg1 {
-				pins = "GPIO29";
-				output-low;
-			};
-			dmic34_default_cfg2 {
-				pins = "GPIO30";
-				bias-disable;{
-
-			};
-		};
-	};
-	dmic56 {
-		dmic56_default_mode: dmic56_default {
-			dmic56_default_mux {
-				function = "dmic";
-				groups = "dmic56_d_1";
-			};
-			dmic56_default_cfg1 {
-				pins = "GPIO31";
-				output-low;
-			};
-			dmic56_default_cfg2 {
-				pins = "GPIO32";
-				bias-disable;
-			};
-		};
-	};
-	sysclkreq5 {
-		sysclkreq5_default_mode: sysclkreq5_default {
-			sysclkreq5_default_mux {
-				function = "sysclkreq";
-				groups = "sysclkreq5_d_1";
-			};
-			sysclkreq5_default_cfg {
-				pins = "GPIO42";
-				output-low;
-			};
-		};
-	};
-	batremn {
-		batremn_default_mode: batremn_default {
-			batremn_default_mux {
-				function = "batremn";
-				groups = "batremn_d_1";
-			};
-			batremn_default_cfg {
-				pins = "GPIO43";
-				bias-disable;
-			};
-		};
-	};
-	service {
-		service_default_mode: service_default {
-			service_default_mux {
-				function = "service";
-				groups = "service_d_1";
-			};
-			service_default_cfg {
-				pins = "GPIO44";
-				bias-disable;
-			};
-		};
-	};
-	pwrctrl0 {
-		pwrctrl0_default_mux: pwrctrl0_mux {
-			pwrctrl0_default_mux {
-				function = "pwrctrl";
-				groups = "pwrctrl0_d_1";
-			};
-		};
-		pwrctrl0_default_mode: pwrctrl0_default {
-			pwrctrl0_default_cfg {
-				pins = "GPIO45";
-				bias-disable;
-			};
-		};
-	};
-	pwrctrl1 {
-		pwrctrl1_default_mux: pwrctrl1_mux {
-			pwrctrl1_default_mux {
-				function = "pwrctrl";
-				groups = "pwrctrl1_d_1";
-			};
-		};
-		pwrctrl1_default_mode: pwrctrl1_default {
-			pwrctrl1_default_cfg {
-				pins = "GPIO46";
-				bias-disable;
-			};
-		};
-	};
-	pwmextvibra1 {
-		pwmextvibra1_default_mode: pwmextvibra1_default {
-			pwmextvibra1_default_mux {
-				function = "pwmextvibra";
-				groups = "pwmextvibra1_d_1";
-			};
-			pwmextvibra1_default_cfg {
-				pins = "GPIO47";
-				bias-disable;
-			};
-		};
-	};
-	pwmextvibra2 {
-		pwmextvibra2_default_mode: pwmextvibra2_default {
-			pwmextvibra2_default_mux {
-				function = "pwmextvibra";
-				groups = "pwmextvibra2_d_1";
-			};
-			pwmextvibra1_default_cfg {
-				pins = "GPIO48";
-				bias-disable;
-			};
-		};
-	};
-	gpio51 {
-		gpio51_default_mode: gpio51_default {
-				gpio51_default_mux {
-				function = "gpio";
-				groups = "gpio51_a_1";
-			};
-			gpio51_default_cfg {
-				pins = "GPIO51";
-				output-low;
-			};
-		};
-	};
-	gpio52 {
-		gpio52_default_mode: gpio52_default {
-			gpio52_default_mux {
-				function = "gpio";
-				groups = "gpio52_a_1";
-			};
-			gpio52_default_cfg {
-				pins = "GPIO52";
-				bias-pull-down;
-			};
-		};
-	};
-	gpio53 {
-		gpio53_default_mode: gpio53_default {
-			gpio53_default_mux {
-				function = "gpio";
-				groups = "gpio53_a_1";
-			};
-			gpio53_default_cfg {
-				pins = "GPIO53";
-				bias-pull-down;
-			};
-		};
-	};
-	gpio54 {
-		gpio54_default_mode: gpio54_default {
-			gpio54_default_mux {
-				function = "gpio";
-				groups = "gpio54_a_1";
-			};
-			gpio54_default_cfg {
-				pins = "GPIO54";
-				output-low;
-			};
-		};
-	};
-	pdmclkdat {
-		pdmclkdat_default_mode: pdmclkdat_default {
-			pdmclkdat_default_mux {
-				function = "pdm";
-				groups = "pdmclkdat_d_1";
-			};
-			pdmclkdat_default_cfg {
-				pins = "GPIO55", "GPIO56";
-				bias-disable;
-			};
-		};
-	};
-};
diff --git a/Documentation/devicetree/bindings/power/supply/stericsson,ab8500-battery.txt b/Documentation/devicetree/bindings/power/supply/stericsson,ab8500-battery.txt
deleted file mode 100644
index ee125cb0e46d..000000000000
--- a/Documentation/devicetree/bindings/power/supply/stericsson,ab8500-battery.txt
+++ /dev/null
@@ -1,34 +0,0 @@
-AB85000 PMIC contains a node, which contains shared
-information about the battery connected to the PMIC.
-The node has no compatible property.
-
-Properties of this node are:
-
-thermistor-on-batctrl:
-	A boolean value indicating thermistor interface	to battery
-
-	Note:
-	'btemp' and 'batctrl' are the pins interfaced for battery temperature
-	measurement, 'btemp' signal is used when NTC(negative temperature
-	coefficient) resister is interfaced external to battery whereas
-	'batctrl' pin is used when NTC resister is internal to battery.
-
-	Example:
-	ab8500_battery: ab8500_battery {
-		thermistor-on-batctrl;
-	};
-	indicates: NTC resister is internal to battery, 'batctrl' is used
-		for thermal measurement.
-
-	The absence of property 'thermal-on-batctrl' indicates
-	NTC resister is external to battery and  'btemp' signal is used
-	for thermal measurement.
-
-battery-type:
-	This shall be the battery manufacturing technology type,
-	allowed types are:
-		"UNKNOWN" "NiMH" "LION" "LIPO" "LiFe" "NiCd" "LiMn"
-	Example:
-	ab8500_battery: ab8500_battery {
-		stericsson,battery-type = "LIPO";
-	}
-- 
2.30.2


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

* Re: [PATCH 4/6] dt-bindings: power: supply: charger-manager: Convert to DT schema format
  2021-04-12 23:03 ` [PATCH 4/6] dt-bindings: power: supply: charger-manager: Convert to DT schema format Sebastian Reichel
@ 2021-04-13 15:26   ` Rob Herring
  2021-05-13 15:51     ` Sebastian Reichel
  0 siblings, 1 reply; 13+ messages in thread
From: Rob Herring @ 2021-04-13 15:26 UTC (permalink / raw)
  To: Sebastian Reichel
  Cc: Rob Herring, Linus Walleij, linux-kernel, kernel, Lee Jones,
	Sebastian Reichel, devicetree, linux-pm

On Tue, 13 Apr 2021 01:03:18 +0200, Sebastian Reichel wrote:
> Convert the binding to DT schema format.
> 
> I slightly modified the binding by allowing regulator-[0-9] and cable-[0-9]
> instead of regulator@[0-9] and cable@[0-9], so that DT compiler does not
> complain about missing 'reg' property. The driver actually ignores the
> nodename and can handle both styles.
> 
> Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
> ---
>  .../bindings/power/supply/charger-manager.txt |  91 --------
>  .../power/supply/charger-manager.yaml         | 215 ++++++++++++++++++
>  2 files changed, 215 insertions(+), 91 deletions(-)
>  delete mode 100644 Documentation/devicetree/bindings/power/supply/charger-manager.txt
>  create mode 100644 Documentation/devicetree/bindings/power/supply/charger-manager.yaml
> 

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

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

* Re: [PATCH 5/6] dt-bindings: power: mfd: max8925: Convert to DT schema format
  2021-04-12 23:03 ` [PATCH 5/6] dt-bindings: power: mfd: max8925: " Sebastian Reichel
@ 2021-04-13 15:34   ` Rob Herring
  0 siblings, 0 replies; 13+ messages in thread
From: Rob Herring @ 2021-04-13 15:34 UTC (permalink / raw)
  To: Sebastian Reichel
  Cc: Sebastian Reichel, Lee Jones, Linus Walleij, linux-pm,
	devicetree, linux-kernel, kernel

On Tue, Apr 13, 2021 at 01:03:19AM +0200, Sebastian Reichel wrote:
> Convert the binding to DT schema format.
> 
> The sub-functions of this MFD device do not have their own compatible
> string and are thus described directly in the MFD binding document
> after being converted to YAML.
> 
> Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
> ---
>  .../leds/backlight/max8925-backlight.txt      |  10 --
>  .../devicetree/bindings/mfd/max8925.txt       |  64 --------
>  .../bindings/mfd/maxim,max8925.yaml           | 139 ++++++++++++++++++
>  .../bindings/power/supply/max8925_battery.txt |  18 ---
>  4 files changed, 139 insertions(+), 92 deletions(-)
>  delete mode 100644 Documentation/devicetree/bindings/leds/backlight/max8925-backlight.txt
>  delete mode 100644 Documentation/devicetree/bindings/mfd/max8925.txt
>  create mode 100644 Documentation/devicetree/bindings/mfd/maxim,max8925.yaml
>  delete mode 100644 Documentation/devicetree/bindings/power/supply/max8925_battery.txt
> 
> diff --git a/Documentation/devicetree/bindings/leds/backlight/max8925-backlight.txt b/Documentation/devicetree/bindings/leds/backlight/max8925-backlight.txt
> deleted file mode 100644
> index b4cffdaa4137..000000000000
> --- a/Documentation/devicetree/bindings/leds/backlight/max8925-backlight.txt
> +++ /dev/null
> @@ -1,10 +0,0 @@
> -88pm860x-backlight bindings
> -
> -Optional properties:
> -  - maxim,max8925-dual-string: whether support dual string
> -
> -Example:
> -
> -	backlights {
> -		maxim,max8925-dual-string = <0>;
> -	};
> diff --git a/Documentation/devicetree/bindings/mfd/max8925.txt b/Documentation/devicetree/bindings/mfd/max8925.txt
> deleted file mode 100644
> index 4f0dc6638e5e..000000000000
> --- a/Documentation/devicetree/bindings/mfd/max8925.txt
> +++ /dev/null
> @@ -1,64 +0,0 @@
> -* Maxim max8925 Power Management IC
> -
> -Required parent device properties:
> -- compatible : "maxim,max8925"
> -- reg : the I2C slave address for the max8925 chip
> -- interrupts : IRQ line for the max8925 chip
> -- interrupt-controller: describes the max8925 as an interrupt
> -  controller (has its own domain)
> -- #interrupt-cells : should be 1.
> -	- The cell is the max8925 local IRQ number
> -
> -Optional parent device properties:
> -- maxim,tsc-irq: there are 2 IRQ lines for max8925, one is indicated in
> -  interrupts property, the other is indicated here.
> -
> -max8925 consists of a large and varied group of sub-devices:
> -
> -Device			 Supply Names	 Description
> -------			 ------------	 -----------
> -max8925-onkey		:		: On key
> -max8925-rtc		:		: RTC
> -max8925-regulator	:		: Regulators
> -max8925-backlight	:		: Backlight
> -max8925-touch		:		: Touchscreen
> -max8925-power		:		: Charger
> -
> -Example:
> -
> -	pmic: max8925@3c {
> -		compatible = "maxim,max8925";
> -		reg = <0x3c>;
> -		interrupts = <1>;
> -		interrupt-parent = <&intcmux4>;
> -		interrupt-controller;
> -		#interrupt-cells = <1>;
> -		maxim,tsc-irq = <0>;
> -
> -		regulators {
> -			SDV1 {
> -				regulator-min-microvolt = <637500>;
> -				regulator-max-microvolt = <1425000>;
> -				regulator-boot-on;
> -				regulator-always-on;
> -			};
> -
> -			LDO1 {
> -				regulator-min-microvolt = <750000>;
> -				regulator-max-microvolt = <3900000>;
> -				regulator-boot-on;
> -				regulator-always-on;
> -			};
> -
> -		};
> -		backlight {
> -			maxim,max8925-dual-string = <0>;
> -		};
> -		charger {
> -			batt-detect = <0>;
> -			topoff-threshold = <1>;
> -			fast-charge = <7>;
> -			no-temp-support = <0>;
> -			no-insert-detect = <0>;
> -		};
> -	};
> diff --git a/Documentation/devicetree/bindings/mfd/maxim,max8925.yaml b/Documentation/devicetree/bindings/mfd/maxim,max8925.yaml
> new file mode 100644
> index 000000000000..45365c53bb46
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/mfd/maxim,max8925.yaml
> @@ -0,0 +1,139 @@
> +# SPDX-License-Identifier: GPL-2.0
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/mfd/maxim,max8925.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: MAX8925 PMIC from Maxim Integrated.
> +
> +maintainers:
> +  - Lee Jones <lee.jones@linaro.org>
> +
> +properties:
> +  compatible:
> +    const: maxim,max8925
> +
> +  reg:
> +    maxItems: 1
> +
> +  interrupts:
> +    maxItems: 1
> +
> +  interrupt-controller: true
> +
> +  "#interrupt-cells":
> +    const: 1
> +    description:
> +      The cell is the IRQ number
> +
> +  maxim,tsc-irq:
> +    description: second interrupt from max8925
> +    $ref: /schemas/types.yaml#/definitions/uint32
> +
> +  regulators:
> +    type: object
> +
> +    patternProperties:
> +      "^SDV[1-3]$|^LDO[1-9]$|^LDO1[0-9]$|^LDO20$":
> +        description: regulator configuration for SDV1-3 and LDO1-20
> +        $ref: /schemas/regulator/regulator.yaml
> +
> +    additionalProperties: false
> +
> +  backlight:
> +    type: object
> +    properties:
> +      maxim,max8925-dual-string:
> +        description: set to 1 to support dual string
> +        $ref: /schemas/types.yaml#/definitions/uint32
> +        enum: [0, 1]
> +        default: 0
> +
> +    additionalProperties: false
> +
> +  charger:
> +    type: object
> +    properties:
> +      batt-detect:
> +        description: set to 1 if battery detection via ID pin is supported
> +        enum: [0, 1]
> +        default: 0
> +
> +      topoff-threshold:
> +        description: charging current in topoff mode, configures bits 5-6 in CHG_CNTL1
> +        minimum: 0
> +        maximum: 3
> +        default: 0
> +
> +      fast-charge:
> +        description: set charging current in fast mode, configures bits 0-3 in CHG_CNTL1
> +        minimum: 0
> +        maximum: 7
> +        default: 0
> +
> +      no-temp-support:
> +        description: set to 1 if temperature sensing is not supported
> +        enum: [0, 1]
> +        default: 0
> +
> +      no-insert-detect:
> +        description: set to 1 if AC detection is not supported
> +        enum: [0, 1]
> +        default: 0

All these need a type reference.

> +
> +    additionalProperties: false
> +
> +required:
> +  - compatible
> +  - reg
> +  - interrupts
> +  - interrupt-controller
> +  - "#interrupt-cells"
> +  - regulators
> +
> +additionalProperties: false
> +
> +examples:
> +  - |
> +    i2c {
> +        #address-cells = <1>;
> +        #size-cells = <0>;
> +
> +        max8925@3c {
> +            compatible = "maxim,max8925";
> +            reg = <0x3c>;
> +            interrupts = <1>;
> +            interrupt-parent = <&intcmux4>;
> +            interrupt-controller;
> +            #interrupt-cells = <1>;
> +            maxim,tsc-irq = <0>;
> +
> +            regulators {
> +                SDV1 {
> +                    regulator-min-microvolt = <637500>;
> +                    regulator-max-microvolt = <1425000>;
> +                    regulator-boot-on;
> +                    regulator-always-on;
> +                };
> +
> +                LDO1 {
> +                    regulator-min-microvolt = <750000>;
> +                    regulator-max-microvolt = <3900000>;
> +                    regulator-boot-on;
> +                    regulator-always-on;
> +                };
> +            };
> +
> +            backlight {
> +                maxim,max8925-dual-string = <0>;
> +            };
> +
> +            charger {
> +                batt-detect = <0>;
> +                topoff-threshold = <1>;
> +                fast-charge = <7>;
> +                no-temp-support = <0>;
> +                no-insert-detect = <0>;
> +            };
> +        };
> +    };
> diff --git a/Documentation/devicetree/bindings/power/supply/max8925_battery.txt b/Documentation/devicetree/bindings/power/supply/max8925_battery.txt
> deleted file mode 100644
> index d7e3e0c0f71d..000000000000
> --- a/Documentation/devicetree/bindings/power/supply/max8925_battery.txt
> +++ /dev/null
> @@ -1,18 +0,0 @@
> -max8925-battery bindings
> -~~~~~~~~~~~~~~~~
> -
> -Optional properties :
> - - batt-detect: whether support battery detect
> - - topoff-threshold: set charging current in topoff mode
> - - fast-charge: set charging current in fast mode
> - - no-temp-support: whether support temperature protection detect
> - - no-insert-detect: whether support insert detect
> -
> -Example:
> -	charger {
> -		batt-detect = <0>;
> -		topoff-threshold = <1>;
> -		fast-charge = <7>;
> -		no-temp-support = <0>;
> -		no-insert-detect = <0>;
> -	};
> -- 
> 2.30.2
> 

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

* Re: [PATCH 6/6] dt-bindings: power: mfd: ab8500: Convert to DT schema format
  2021-04-12 23:03 ` [PATCH 6/6] dt-bindings: power: mfd: ab8500: " Sebastian Reichel
@ 2021-04-13 15:57   ` Rob Herring
  0 siblings, 0 replies; 13+ messages in thread
From: Rob Herring @ 2021-04-13 15:57 UTC (permalink / raw)
  To: Sebastian Reichel
  Cc: Sebastian Reichel, Lee Jones, Linus Walleij, linux-pm,
	devicetree, linux-kernel, kernel

On Tue, Apr 13, 2021 at 01:03:20AM +0200, Sebastian Reichel wrote:
> Convert the binding to DT schema format.
> 
> I slightly modified the binding by renaming the gpio node from
> ab8500-gpio to ab8500-gpiocontroller, since the -gpio suffix
> is used for gpio consumers.
> 
> Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
> ---
>  .../devicetree/bindings/mfd/ab8500.txt        | 280 -------
>  .../bindings/mfd/stericsson,ab8500.yaml       | 696 ++++++++++++++++++
>  .../bindings/pinctrl/ste,abx500.txt           | 318 --------
>  .../supply/stericsson,ab8500-battery.txt      |  34 -
>  4 files changed, 696 insertions(+), 632 deletions(-)
>  delete mode 100644 Documentation/devicetree/bindings/mfd/ab8500.txt
>  create mode 100644 Documentation/devicetree/bindings/mfd/stericsson,ab8500.yaml
>  delete mode 100644 Documentation/devicetree/bindings/pinctrl/ste,abx500.txt
>  delete mode 100644 Documentation/devicetree/bindings/power/supply/stericsson,ab8500-battery.txt


> diff --git a/Documentation/devicetree/bindings/mfd/stericsson,ab8500.yaml b/Documentation/devicetree/bindings/mfd/stericsson,ab8500.yaml
> new file mode 100644
> index 000000000000..80d33f21d72f
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/mfd/stericsson,ab8500.yaml
> @@ -0,0 +1,696 @@
> +# SPDX-License-Identifier: GPL-2.0
> +%YAML 1.2
> +---
> +$id: "http://devicetree.org/schemas/mfd/stericsson,ab8500.yaml#"
> +$schema: "http://devicetree.org/meta-schemas/core.yaml#"
> +
> +title: AB8500 Multi-Functional Device
> +
> +maintainers:
> +  - Linus Walleij <linus.walleij@linaro.org>
> +  - Lee Jones <lee.jones@linaro.org>
> +
> +properties:
> +  compatible:
> +    enum:
> +      - stericsson,ab8500
> +      - stericsson,ab8505
> +
> +  interrupts:
> +    maxItems: 1
> +
> +  interrupt-controller: true
> +
> +  "#interrupt-cells":
> +    description: First cell is IRQ number, second cell is flags
> +    const: 2
> +
> +  clock-controller:
> +    type: object
> +    properties:
> +      compatible:
> +        const: stericsson,ab8500-clk
> +
> +      "#clock-cells":
> +        const: 1
> +
> +    required:
> +      - compatible
> +      - "#clock-cells"
> +
> +    additionalProperties: false
> +
> +  ab8500-rtc:
> +    type: object
> +    properties:
> +      compatible:
> +        const: stericsson,ab8500-rtc
> +
> +      interrupts:
> +        maxItems: 2
> +
> +      interrupt-names:
> +        items:
> +          - const: 60S
> +          - const: ALARM
> +
> +    required:
> +      - compatible
> +      - interrupts
> +      - interrupt-names
> +
> +    additionalProperties: false
> +
> +  ab8500-gpadc:
> +    type: object
> +    properties:
> +      compatible:
> +        const: stericsson,ab8500-gpadc
> +
> +      interrupts:
> +        minItems: 1
> +        maxItems: 2
> +
> +      interrupt-names:
> +        minItems: 1
> +        maxItems: 2
> +        items:
> +          anyOf:
> +            - const: HW_CONV_END
> +            - const: SW_CONV_END
> +
> +      vddadc-supply:
> +        description: analog supply
> +
> +      "#address-cells":
> +        const: 1
> +
> +      "#size-cells":
> +        const: 0
> +
> +      "#io-channel-cells":
> +        const: 1
> +
> +    required:
> +      - compatible
> +
> +    patternProperties:
> +      "^channel@[0-9a-f]+$":
> +        type: object
> +        properties:
> +          reg:
> +            maxItems: 1

maximum: 0x1f ?

> +
> +        required:
> +          - reg
> +
> +        additionalProperties: false
> +
> +    additionalProperties: false
> +
> +  ab8500_temp:
> +    type: object
> +    properties:
> +      compatible:
> +        const: stericsson,abx500-temp
> +
> +      interrupts:
> +        maxItems: 1
> +
> +      interrupt-names:
> +        items:
> +          - const: ABX500_TEMP_WARM
> +
> +      io-channels:
> +        maxItems: 2
> +
> +      io-channel-names:
> +        items:
> +          - const: aux1
> +          - const: aux2
> +
> +    required:
> +      - compatible
> +
> +    additionalProperties: false
> +
> +  ab8500_btemp:
> +    type: object
> +    $ref: ../power/supply/stericsson,ab8500-btemp.yaml
> +
> +  ab8500_charger:
> +    type: object
> +    $ref: ../power/supply/stericsson,ab8500-charger.yaml
> +
> +  ab8500_fg:
> +    type: object
> +    $ref: ../power/supply/stericsson,ab8500-fg.yaml
> +
> +  ab8500_chargalg:
> +    type: object
> +    $ref: ../power/supply/stericsson,ab8500-chargalg.yaml
> +
> +  ab8500_battery:
> +    type: object
> +    properties:
> +      stericsson,battery-type:
> +        description: battery chemistry
> +        enum:
> +          - UNKNOWN
> +          - NiMH
> +          - LION
> +          - LIPO
> +          - LiFe
> +          - NiCd
> +          - LiMn
> +
> +      thermistor-on-batctrl:
> +        type: boolean
> +        description:
> +          if set 'batctrl' is used for thermal measurement, otherwise 'btemp'
> +          is used for thermal measurement.
> +
> +    additionalProperties: false
> +
> +  ab8500_usb:
> +    type: object
> +    properties:
> +      compatible:
> +        const: stericsson,ab8500-usb
> +
> +      interrupts:
> +        maxItems: 7
> +
> +      interrupt-names:
> +        items:
> +          - const: ID_WAKEUP_R
> +          - const: ID_WAKEUP_F
> +          - const: VBUS_DET_F
> +          - const: VBUS_DET_R
> +          - const: USB_LINK_STATUS
> +          - const: USB_ADP_PROBE_PLUG
> +          - const: USB_ADP_PROBE_UNPLUG
> +
> +      vddulpivio18-supply:
> +        description: 1.8V VIO
> +
> +      v-ape-supply:
> +        description: V-APE
> +
> +      musb_1v8-supply:
> +        description: MUSB 1.8V
> +
> +      clocks:
> +        maxItems: 1
> +
> +      clock-names:
> +        items:
> +          - const: sysclk
> +
> +    additionalProperties: false
> +
> +  ab8500-ponkey:
> +    type: object
> +    properties:
> +      compatible:
> +        const: stericsson,ab8500-poweron-key
> +
> +      interrupts:
> +        maxItems: 2
> +
> +      interrupt-names:
> +        items:
> +          - const: ONKEY_DBF
> +          - const: ONKEY_DBR
> +
> +    additionalProperties: false
> +
> +  ab8500-sysctrl:
> +    type: object
> +    properties:
> +      compatible:
> +        const: stericsson,ab8500-sysctrl
> +
> +    additionalProperties: false
> +
> +  ab8500-debugfs:
> +    type: object
> +    properties:
> +      compatible:
> +        const: stericsson,ab8500-debug
> +
> +    additionalProperties: false
> +
> +  ab8500-codec:
> +    type: object
> +    properties:
> +      compatible:
> +        const: stericsson,ab8500-codec
> +
> +      V-AUD-supply:
> +        description: V-AUD supply
> +
> +      V-AMIC1-supply:
> +        description: V-AMIC1 supply
> +
> +      V-AMIC2-supply:
> +        description: V-AMIC2 supply
> +
> +      V-DMIC-supply:
> +        description: V-DMIC supply
> +
> +      clocks:
> +        maxItems: 1
> +
> +      clock-names:
> +        items:
> +          - const: audioclk
> +
> +      stericsson,earpeice-cmv:
> +        description: earpiece voltage in mV
> +        enum: [950, 1100, 1270, 1580]
> +        $ref: /schemas/types.yaml#/definitions/uint32
> +
> +    additionalProperties: false
> +
> +  ab8500-ext-regulators:
> +    type: object
> +    properties:
> +      compatible:
> +        const: stericsson,ab8500-ext-regulator
> +
> +    patternProperties:
> +      "^ab8500_ext[1-3]$":
> +        $ref: /schemas/regulator/regulator.yaml
> +
> +    additionalProperties: false
> +
> +patternProperties:
> +  "^ab8500-pwm(-[1-3])?$":
> +    type: object
> +    properties:
> +      compatible:
> +        const: stericsson,ab8500-pwm
> +
> +      clocks:
> +        maxItems: 1
> +
> +      clock-names:
> +        items:
> +          - const: intclk
> +
> +    additionalProperties: false
> +  "^ab850[05]-gpiocontroller$":
> +    type: object
> +    properties:
> +      compatible:
> +        enum:
> +          - stericsson,ab8500-gpio
> +          - stericsson,ab8505-gpio
> +          - stericsson,ab8540-gpio
> +          - stericsson,ab9540-gpio
> +
> +      gpio-controller: true
> +
> +      "#gpio-cells":
> +        const: 2
> +
> +    required:
> +      - compatible
> +      - gpio-controller
> +      - "#gpio-cells"
> +
> +    patternProperties:
> +      "^.*$":
> +        $ref: "/schemas/pinctrl/pincfg-node.yaml"

This is going to match on all properties. Ideally, we'd have some 
pattern to match on, but you can do this instead:

additionalProperties:
  type: object
  $ref: "/schemas/pinctrl/pincfg-node.yaml"


> +
> +    additionalProperties: false
> +
> +  "^ab850[05]-regulators$":
> +    type: object
> +    properties:
> +      compatible:
> +        enum:
> +          - stericsson,ab8500-regulator
> +          - stericsson,ab8505-regulator
> +
> +      vin-supply:
> +        description: input supply
> +
> +    patternProperties:
> +      "^ab8500_ldo_adc$|^ab8500_ldo_aux[1-8]$|^ab8500_ldo_intcore$|^ab8500_ldo_tvout$|^ab8500_ldo_audio$|^ab8500_ldo_anamic[12]$|^ab8500_ldo_dmic$|^ab8500_ldo_ana$":

Can't you factor out 'ab8500_ldo_'?

> +        $ref: /schemas/regulator/regulator.yaml
> +
> +    additionalProperties: false
> +
> +additionalProperties: false
> +
> +examples:
> +  - |
> +    #include <dt-bindings/interrupt-controller/arm-gic.h>
> +    #include <dt-bindings/interrupt-controller/irq.h>
> +    #include <dt-bindings/mfd/dbx500-prcmu.h>
> +    #include <dt-bindings/clock/ste-ab8500.h>
> +    ab8500 {
> +        compatible = "stericsson,ab8500";
> +        interrupt-parent = <&intc>;
> +        interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>;
> +        interrupt-controller;
> +        #interrupt-cells = <2>;
> +
> +        ab8500_clock: clock-controller {
> +            compatible = "stericsson,ab8500-clk";
> +            #clock-cells = <1>;
> +        };
> +
> +        ab8500_gpio: ab8500-gpiocontroller {
> +            compatible = "stericsson,ab8500-gpio";
> +            gpio-controller;
> +            #gpio-cells = <2>;
> +        };
> +
> +        ab8500-rtc {
> +            compatible = "stericsson,ab8500-rtc";
> +            interrupts = <17 IRQ_TYPE_LEVEL_HIGH>,
> +                         <18 IRQ_TYPE_LEVEL_HIGH>;
> +            interrupt-names = "60S", "ALARM";
> +        };
> +
> +        gpadc: ab8500-gpadc {
> +            compatible = "stericsson,ab8500-gpadc";
> +            interrupts = <32 IRQ_TYPE_LEVEL_HIGH>,
> +                         <39 IRQ_TYPE_LEVEL_HIGH>;
> +            interrupt-names = "HW_CONV_END", "SW_CONV_END";
> +            vddadc-supply = <&ab8500_ldo_tvout_reg>;
> +            #address-cells = <1>;
> +            #size-cells = <0>;
> +            #io-channel-cells = <1>;
> +
> +            /* GPADC channels */
> +            bat_ctrl: channel@1 {
> +                reg = <0x01>;
> +            };
> +            btemp_ball: channel@2 {
> +                reg = <0x02>;
> +            };
> +            main_charger_v: channel@3 {
> +                reg = <0x03>;
> +            };
> +            acc_detect1: channel@4 {
> +                reg = <0x04>;
> +            };
> +            acc_detect2: channel@5 {
> +                reg = <0x05>;
> +            };
> +            adc_aux1: channel@6 {
> +                reg = <0x06>;
> +            };
> +            adc_aux2: channel@7 {
> +                reg = <0x07>;
> +            };
> +            main_batt_v: channel@8 {
> +                reg = <0x08>;
> +            };
> +            vbus_v: channel@9 {
> +                reg = <0x09>;
> +            };
> +            main_charger_c: channel@a {
> +                reg = <0x0a>;
> +            };
> +            usb_charger_c: channel@b {
> +                reg = <0x0b>;
> +            };
> +            bk_bat_v: channel@c {
> +                reg = <0x0c>;
> +            };
> +            die_temp: channel@d {
> +                reg = <0x0d>;
> +            };
> +            usb_id: channel@e {
> +                reg = <0x0e>;
> +            };
> +            xtal_temp: channel@12 {
> +                reg = <0x12>;
> +            };
> +            vbat_true_meas: channel@13 {
> +                reg = <0x13>;
> +            };
> +            bat_ctrl_and_ibat: channel@1c {
> +                reg = <0x1c>;
> +            };
> +            vbat_meas_and_ibat: channel@1d {
> +                reg = <0x1d>;
> +            };
> +            vbat_true_meas_and_ibat: channel@1e {
> +                reg = <0x1e>;
> +            };
> +            bat_temp_and_ibat: channel@1f {
> +                reg = <0x1f>;
> +            };
> +        };
> +
> +        ab8500_temp {
> +            compatible = "stericsson,abx500-temp";
> +            interrupts = <3 IRQ_TYPE_LEVEL_HIGH>;
> +            interrupt-names = "ABX500_TEMP_WARM";
> +            io-channels = <&gpadc 0x06>,
> +                          <&gpadc 0x07>;
> +            io-channel-names = "aux1", "aux2";
> +        };
> +
> +        ab8500_battery: ab8500_battery {
> +            stericsson,battery-type = "LIPO";
> +            thermistor-on-batctrl;
> +        };
> +
> +        ab8500_fg {
> +            compatible = "stericsson,ab8500-fg";
> +            interrupts = <24 IRQ_TYPE_LEVEL_HIGH>,
> +                         <8 IRQ_TYPE_LEVEL_HIGH>,
> +                         <28 IRQ_TYPE_LEVEL_HIGH>,
> +                         <27 IRQ_TYPE_LEVEL_HIGH>,
> +                         <26 IRQ_TYPE_LEVEL_HIGH>;
> +            interrupt-names = "NCONV_ACCU",
> +                              "BATT_OVV",
> +                              "LOW_BAT_F",
> +                              "CC_INT_CALIB",
> +                              "CCEOC";
> +            battery = <&ab8500_battery>;
> +            io-channels = <&gpadc 0x08>;
> +            io-channel-names = "main_bat_v";
> +        };
> +
> +        ab8500_btemp {
> +            compatible = "stericsson,ab8500-btemp";
> +            interrupts = <20 IRQ_TYPE_LEVEL_HIGH>,
> +                         <80 IRQ_TYPE_LEVEL_HIGH>,
> +                         <83 IRQ_TYPE_LEVEL_HIGH>,
> +                         <81 IRQ_TYPE_LEVEL_HIGH>,
> +                         <82 IRQ_TYPE_LEVEL_HIGH>;
> +            interrupt-names = "BAT_CTRL_INDB",
> +                              "BTEMP_LOW",
> +                              "BTEMP_HIGH",
> +                              "BTEMP_LOW_MEDIUM",
> +                              "BTEMP_MEDIUM_HIGH";
> +            battery = <&ab8500_battery>;
> +            io-channels = <&gpadc 0x02>,
> +                          <&gpadc 0x01>;
> +            io-channel-names = "btemp_ball",
> +                            "bat_ctrl";
> +        };
> +
> +        ab8500_charger {
> +            compatible = "stericsson,ab8500-charger";
> +            interrupts = <10 IRQ_TYPE_LEVEL_HIGH>,
> +                         <11 IRQ_TYPE_LEVEL_HIGH>,
> +                         <0 IRQ_TYPE_LEVEL_HIGH>,
> +                         <107 IRQ_TYPE_LEVEL_HIGH>,
> +                         <106 IRQ_TYPE_LEVEL_HIGH>,
> +                         <14 IRQ_TYPE_LEVEL_HIGH>,
> +                         <15 IRQ_TYPE_LEVEL_HIGH>,
> +                         <79 IRQ_TYPE_LEVEL_HIGH>,
> +                         <105 IRQ_TYPE_LEVEL_HIGH>,
> +                         <104 IRQ_TYPE_LEVEL_HIGH>,
> +                         <89 IRQ_TYPE_LEVEL_HIGH>,
> +                         <22 IRQ_TYPE_LEVEL_HIGH>,
> +                         <21 IRQ_TYPE_LEVEL_HIGH>,
> +                         <16 IRQ_TYPE_LEVEL_HIGH>;
> +            interrupt-names = "MAIN_CH_UNPLUG_DET",
> +                              "MAIN_CHARGE_PLUG_DET",
> +                              "MAIN_EXT_CH_NOT_OK",
> +                              "MAIN_CH_TH_PROT_R",
> +                              "MAIN_CH_TH_PROT_F",
> +                              "VBUS_DET_F",
> +                              "VBUS_DET_R",
> +                              "USB_LINK_STATUS",
> +                              "USB_CH_TH_PROT_R",
> +                              "USB_CH_TH_PROT_F",
> +                              "USB_CHARGER_NOT_OKR",
> +                              "VBUS_OVV",
> +                              "CH_WD_EXP",
> +                              "VBUS_CH_DROP_END";
> +            battery = <&ab8500_battery>;
> +            vddadc-supply = <&ab8500_ldo_tvout_reg>;
> +            io-channels = <&gpadc 0x03>,
> +                          <&gpadc 0x0a>,
> +                          <&gpadc 0x09>,
> +                          <&gpadc 0x0b>;
> +            io-channel-names = "main_charger_v",
> +                            "main_charger_c",
> +                            "vbus_v",
> +                            "usb_charger_c";
> +        };
> +
> +        ab8500_chargalg {
> +            compatible = "stericsson,ab8500-chargalg";
> +            battery = <&ab8500_battery>;
> +        };
> +
> +        ab8500_usb {
> +            compatible = "stericsson,ab8500-usb";
> +            interrupts = <90 IRQ_TYPE_LEVEL_HIGH>,
> +                         <96 IRQ_TYPE_LEVEL_HIGH>,
> +                         <14 IRQ_TYPE_LEVEL_HIGH>,
> +                         <15 IRQ_TYPE_LEVEL_HIGH>,
> +                         <79 IRQ_TYPE_LEVEL_HIGH>,
> +                         <74 IRQ_TYPE_LEVEL_HIGH>,
> +                         <75 IRQ_TYPE_LEVEL_HIGH>;
> +            interrupt-names = "ID_WAKEUP_R",
> +                              "ID_WAKEUP_F",
> +                              "VBUS_DET_F",
> +                              "VBUS_DET_R",
> +                              "USB_LINK_STATUS",
> +                              "USB_ADP_PROBE_PLUG",
> +                              "USB_ADP_PROBE_UNPLUG";
> +            vddulpivio18-supply = <&ab8500_ldo_intcore_reg>;
> +            v-ape-supply = <&db8500_vape_reg>;
> +            musb_1v8-supply = <&db8500_vsmps2_reg>;
> +            clocks = <&prcmu_clk PRCMU_SYSCLK>;
> +            clock-names = "sysclk";
> +        };
> +
> +        ab8500-ponkey {
> +            compatible = "stericsson,ab8500-poweron-key";
> +            interrupts = <6 IRQ_TYPE_LEVEL_HIGH>,
> +                         <7 IRQ_TYPE_LEVEL_HIGH>;
> +            interrupt-names = "ONKEY_DBF", "ONKEY_DBR";
> +        };
> +
> +        ab8500-sysctrl {
> +            compatible = "stericsson,ab8500-sysctrl";
> +        };
> +
> +        ab8500-pwm-1 {
> +            compatible = "stericsson,ab8500-pwm";
> +            clocks = <&ab8500_clock AB8500_SYSCLK_INT>;
> +            clock-names = "intclk";
> +        };
> +
> +        ab8500-pwm-2 {
> +            compatible = "stericsson,ab8500-pwm";
> +            clocks = <&ab8500_clock AB8500_SYSCLK_INT>;
> +            clock-names = "intclk";
> +        };
> +
> +        ab8500-pwm-3 {
> +            compatible = "stericsson,ab8500-pwm";
> +            clocks = <&ab8500_clock AB8500_SYSCLK_INT>;
> +            clock-names = "intclk";
> +        };
> +
> +        ab8500-debugfs {
> +            compatible = "stericsson,ab8500-debug";
> +        };
> +
> +        codec: ab8500-codec {
> +            compatible = "stericsson,ab8500-codec";
> +
> +            V-AUD-supply = <&ab8500_ldo_audio_reg>;
> +            V-AMIC1-supply = <&ab8500_ldo_anamic1_reg>;
> +            V-AMIC2-supply = <&ab8500_ldo_anamic2_reg>;
> +            V-DMIC-supply = <&ab8500_ldo_dmic_reg>;
> +
> +            clocks = <&ab8500_clock AB8500_SYSCLK_AUDIO>;
> +            clock-names = "audioclk";
> +
> +            stericsson,earpeice-cmv = <950>; /* Units in mV. */
> +        };
> +
> +        ext_regulators: ab8500-ext-regulators {
> +            compatible = "stericsson,ab8500-ext-regulator";
> +
> +            ab8500_ext1_reg: ab8500_ext1 {
> +                regulator-min-microvolt = <1800000>;
> +                regulator-max-microvolt = <1800000>;
> +                regulator-boot-on;
> +                regulator-always-on;
> +            };
> +
> +            ab8500_ext2_reg: ab8500_ext2 {
> +                regulator-min-microvolt = <1360000>;
> +                regulator-max-microvolt = <1360000>;
> +                regulator-boot-on;
> +                regulator-always-on;
> +            };
> +
> +            ab8500_ext3_reg: ab8500_ext3 {
> +                regulator-min-microvolt = <3400000>;
> +                regulator-max-microvolt = <3400000>;
> +                regulator-boot-on;
> +            };
> +        };
> +
> +        ab8500-regulators {
> +            compatible = "stericsson,ab8500-regulator";
> +            vin-supply = <&ab8500_ext3_reg>;
> +
> +            // supplies to the display/camera
> +            ab8500_ldo_aux1_reg: ab8500_ldo_aux1 {
> +                regulator-min-microvolt = <2500000>;
> +                regulator-max-microvolt = <2900000>;
> +                regulator-boot-on;
> +                /* BUG: If turned off MMC will be affected. */
> +                regulator-always-on;
> +            };
> +
> +            // supplies to the on-board eMMC
> +            ab8500_ldo_aux2_reg: ab8500_ldo_aux2 {
> +                regulator-min-microvolt = <1100000>;
> +                regulator-max-microvolt = <3300000>;
> +            };
> +
> +            // supply for VAUX3; SDcard slots
> +            ab8500_ldo_aux3_reg: ab8500_ldo_aux3 {
> +                regulator-min-microvolt = <1100000>;
> +                regulator-max-microvolt = <3300000>;
> +            };
> +
> +            // supply for v-intcore12; VINTCORE12 LDO
> +            ab8500_ldo_intcore_reg: ab8500_ldo_intcore {
> +            };
> +
> +            // supply for tvout; gpadc; TVOUT LDO
> +            ab8500_ldo_tvout_reg: ab8500_ldo_tvout {
> +            };
> +
> +            // supply for ab8500-vaudio; VAUDIO LDO
> +            ab8500_ldo_audio_reg: ab8500_ldo_audio {
> +            };
> +
> +            // supply for v-anamic1 VAMIC1 LDO
> +            ab8500_ldo_anamic1_reg: ab8500_ldo_anamic1 {
> +            };
> +
> +            // supply for v-amic2; VAMIC2 LDO; reuse constants for AMIC1
> +            ab8500_ldo_anamic2_reg: ab8500_ldo_anamic2 {
> +            };
> +
> +            // supply for v-dmic; VDMIC LDO
> +            ab8500_ldo_dmic_reg: ab8500_ldo_dmic {
> +            };
> +
> +            // supply for U8500 CSI/DSI; VANA LDO
> +            ab8500_ldo_ana_reg: ab8500_ldo_ana {
> +            };
> +        };
> +    };

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

* Re: [PATCH 4/6] dt-bindings: power: supply: charger-manager: Convert to DT schema format
  2021-04-13 15:26   ` Rob Herring
@ 2021-05-13 15:51     ` Sebastian Reichel
  0 siblings, 0 replies; 13+ messages in thread
From: Sebastian Reichel @ 2021-05-13 15:51 UTC (permalink / raw)
  To: Rob Herring
  Cc: Rob Herring, Linus Walleij, linux-kernel, kernel, Lee Jones,
	devicetree, linux-pm

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

Hi,

On Tue, Apr 13, 2021 at 10:26:41AM -0500, Rob Herring wrote:
> On Tue, 13 Apr 2021 01:03:18 +0200, Sebastian Reichel wrote:
> > Convert the binding to DT schema format.
> > 
> > I slightly modified the binding by allowing regulator-[0-9] and cable-[0-9]
> > instead of regulator@[0-9] and cable@[0-9], so that DT compiler does not
> > complain about missing 'reg' property. The driver actually ignores the
> > nodename and can handle both styles.
> > 
> > Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
> > ---
> >  .../bindings/power/supply/charger-manager.txt |  91 --------
> >  .../power/supply/charger-manager.yaml         | 215 ++++++++++++++++++
> >  2 files changed, 215 insertions(+), 91 deletions(-)
> >  delete mode 100644 Documentation/devicetree/bindings/power/supply/charger-manager.txt
> >  create mode 100644 Documentation/devicetree/bindings/power/supply/charger-manager.yaml
> 
> Reviewed-by: Rob Herring <robh@kernel.org>

Thanks, queued.

-- Sebastian

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

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

* Re: [PATCH 2/6] ARM: dts: ux500: Fix interrupt cells
  2021-04-12 23:03 ` [PATCH 2/6] ARM: dts: ux500: Fix interrupt cells Sebastian Reichel
@ 2021-05-18  0:11   ` Linus Walleij
  0 siblings, 0 replies; 13+ messages in thread
From: Linus Walleij @ 2021-05-18  0:11 UTC (permalink / raw)
  To: Sebastian Reichel
  Cc: Sebastian Reichel, Rob Herring, Lee Jones, Linux PM list,
	open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS,
	linux-kernel, Collabora Kernel ML

On Tue, Apr 13, 2021 at 1:03 AM Sebastian Reichel
<sebastian.reichel@collabora.com> wrote:

> Fix interrupt cells in DT AB8500/AB8505 source files. The
> compiled DTB files will stay the same.
>
> Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>

Patch applied to the Ux500 tree, sorry for the delay.

Yours,
Linus Walleij

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

* Re: [PATCH 3/6] ARM: dts: ux500: Rename gpio-controller node
  2021-04-12 23:03 ` [PATCH 3/6] ARM: dts: ux500: Rename gpio-controller node Sebastian Reichel
@ 2021-05-18  0:15   ` Linus Walleij
  0 siblings, 0 replies; 13+ messages in thread
From: Linus Walleij @ 2021-05-18  0:15 UTC (permalink / raw)
  To: Sebastian Reichel
  Cc: Sebastian Reichel, Rob Herring, Lee Jones, Linux PM list,
	open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS,
	linux-kernel, Collabora Kernel ML

On Tue, Apr 13, 2021 at 1:03 AM Sebastian Reichel
<sebastian.reichel@collabora.com> wrote:

> Rename the AB8500 gpio controller node from ab8500-gpio to
> ab8500-gpiocontroller, since -gpio is a common suffix for
> gpio consumers.
>
> Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>

Reluctantly applied, this is unorthodox but with the prefix I see
the syntactic problem.

Yours,
Linus Walleij

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

end of thread, other threads:[~2021-05-18  0:15 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-04-12 23:03 [PATCH 0/6] Convert remaining power-supply DT bindings to YAML Sebastian Reichel
2021-04-12 23:03 ` [PATCH 1/6] ARM: dts: mmp2-brownstone: Fix max8925 vendor prefix Sebastian Reichel
2021-04-12 23:03 ` [PATCH 2/6] ARM: dts: ux500: Fix interrupt cells Sebastian Reichel
2021-05-18  0:11   ` Linus Walleij
2021-04-12 23:03 ` [PATCH 3/6] ARM: dts: ux500: Rename gpio-controller node Sebastian Reichel
2021-05-18  0:15   ` Linus Walleij
2021-04-12 23:03 ` [PATCH 4/6] dt-bindings: power: supply: charger-manager: Convert to DT schema format Sebastian Reichel
2021-04-13 15:26   ` Rob Herring
2021-05-13 15:51     ` Sebastian Reichel
2021-04-12 23:03 ` [PATCH 5/6] dt-bindings: power: mfd: max8925: " Sebastian Reichel
2021-04-13 15:34   ` Rob Herring
2021-04-12 23:03 ` [PATCH 6/6] dt-bindings: power: mfd: ab8500: " Sebastian Reichel
2021-04-13 15:57   ` Rob Herring

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).