All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH V3 0/3] Add GPIO support for PM7325
@ 2021-05-12 11:13 satya priya
  2021-05-12 11:13 ` [PATCH V3 1/3] pinctrl: qcom: spmi-gpio: Add support for pm7325 satya priya
                   ` (3 more replies)
  0 siblings, 4 replies; 10+ messages in thread
From: satya priya @ 2021-05-12 11:13 UTC (permalink / raw)
  To: Linus Walleij, Rob Herring, Andy Gross, Bjorn Andersson
  Cc: kgunda, linux-gpio, linux-kernel, devicetree, linux-arm-msm, satya priya

satya priya (3):
  pinctrl: qcom: spmi-gpio: Add support for pm7325
  dt-bindings: pinctrl: qcom-pmic-gpio: Add pm7325 support
  dt-bindings: pinctrl: qcom-pmic-gpio: Convert qcom pmic gpio bindings
    to YAML

 .../devicetree/bindings/pinctrl/qcom,pmic-gpio.txt | 286 ---------------------
 .../bindings/pinctrl/qcom,pmic-gpio.yaml           | 245 ++++++++++++++++++
 drivers/pinctrl/qcom/pinctrl-spmi-gpio.c           |   1 +
 3 files changed, 246 insertions(+), 286 deletions(-)
 delete mode 100644 Documentation/devicetree/bindings/pinctrl/qcom,pmic-gpio.txt
 create mode 100644 Documentation/devicetree/bindings/pinctrl/qcom,pmic-gpio.yaml

-- 
QUALCOMM INDIA, on behalf of Qualcomm Innovation Center, Inc. is a member 
of Code Aurora Forum, hosted by The Linux Foundation


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

* [PATCH V3 1/3] pinctrl: qcom: spmi-gpio: Add support for pm7325
  2021-05-12 11:13 [PATCH V3 0/3] Add GPIO support for PM7325 satya priya
@ 2021-05-12 11:13 ` satya priya
  2021-05-12 11:13 ` [PATCH V3 2/3] dt-bindings: pinctrl: qcom-pmic-gpio: Add pm7325 support satya priya
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 10+ messages in thread
From: satya priya @ 2021-05-12 11:13 UTC (permalink / raw)
  To: Linus Walleij, Rob Herring, Andy Gross, Bjorn Andersson
  Cc: kgunda, linux-gpio, linux-kernel, devicetree, linux-arm-msm, satya priya

Add compatible string for PM7325 pmic GPIO support to the
Qualcomm PMIC GPIO driver.

Signed-off-by: satya priya <skakit@codeaurora.org>
Acked-by: Bjorn Andersson <bjorn.andersson@linaro.org>
---
Changes in V2:
 - No change.

Changes in V3:
 - Rebased the patch and added only pm7325 as others are already present.
   updated the commit text accordingly.

 drivers/pinctrl/qcom/pinctrl-spmi-gpio.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/pinctrl/qcom/pinctrl-spmi-gpio.c b/drivers/pinctrl/qcom/pinctrl-spmi-gpio.c
index 00870da..a89d24a 100644
--- a/drivers/pinctrl/qcom/pinctrl-spmi-gpio.c
+++ b/drivers/pinctrl/qcom/pinctrl-spmi-gpio.c
@@ -1131,6 +1131,7 @@ static const struct of_device_id pmic_gpio_of_match[] = {
 	{ .compatible = "qcom,pm8350b-gpio", .data = (void *) 8 },
 	{ .compatible = "qcom,pm8350c-gpio", .data = (void *) 9 },
 	{ .compatible = "qcom,pmk8350-gpio", .data = (void *) 4 },
+	{ .compatible = "qcom,pm7325-gpio", .data = (void *) 10 },
 	{ .compatible = "qcom,pmr735a-gpio", .data = (void *) 4 },
 	{ .compatible = "qcom,pmr735b-gpio", .data = (void *) 4 },
 	{ .compatible = "qcom,pm6150-gpio", .data = (void *) 10 },
-- 
QUALCOMM INDIA, on behalf of Qualcomm Innovation Center, Inc. is a member 
of Code Aurora Forum, hosted by The Linux Foundation


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

* [PATCH V3 2/3] dt-bindings: pinctrl: qcom-pmic-gpio: Add pm7325 support
  2021-05-12 11:13 [PATCH V3 0/3] Add GPIO support for PM7325 satya priya
  2021-05-12 11:13 ` [PATCH V3 1/3] pinctrl: qcom: spmi-gpio: Add support for pm7325 satya priya
@ 2021-05-12 11:13 ` satya priya
  2021-05-18  0:49   ` Rob Herring
  2021-05-12 11:13 ` [PATCH V3 3/3] dt-bindings: pinctrl: qcom-pmic-gpio: Convert qcom pmic gpio bindings to YAML satya priya
  2021-05-19 23:44 ` [PATCH V3 0/3] Add GPIO support for PM7325 Linus Walleij
  3 siblings, 1 reply; 10+ messages in thread
From: satya priya @ 2021-05-12 11:13 UTC (permalink / raw)
  To: Linus Walleij, Rob Herring, Andy Gross, Bjorn Andersson
  Cc: kgunda, linux-gpio, linux-kernel, devicetree, linux-arm-msm, satya priya

Add compatible string for PM7325 pmic GPIO support to the
Qualcomm PMIC GPIO binding.

Signed-off-by: satya priya <skakit@codeaurora.org>
---
Changes in V2:
 - Placed this patch before conversion patch and updated commit text
   to be more clear.

Changes in V3:
 - Rebased the patch and added pm7325 as others are already present.
   updated the commit text accordingly.

 Documentation/devicetree/bindings/pinctrl/qcom,pmic-gpio.txt | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/Documentation/devicetree/bindings/pinctrl/qcom,pmic-gpio.txt b/Documentation/devicetree/bindings/pinctrl/qcom,pmic-gpio.txt
index f6a97605..161216d 100644
--- a/Documentation/devicetree/bindings/pinctrl/qcom,pmic-gpio.txt
+++ b/Documentation/devicetree/bindings/pinctrl/qcom,pmic-gpio.txt
@@ -31,6 +31,7 @@ PMIC's from Qualcomm.
 		    "qcom,pm8350b-gpio"
 		    "qcom,pm8350c-gpio"
 		    "qcom,pmk8350-gpio"
+		    "qcom,pm7325-gpio"
 		    "qcom,pmr735a-gpio"
 		    "qcom,pmr735b-gpio"
 		    "qcom,pm6150-gpio"
@@ -120,6 +121,7 @@ to specify in a pin configuration subnode:
 		    gpio1-gpio8 for pm8350b
 		    gpio1-gpio9 for pm8350c
 		    gpio1-gpio4 for pmk8350
+		    gpio1-gpio10 for pm7325
 		    gpio1-gpio4 for pmr735a
 		    gpio1-gpio4 for pmr735b
 		    gpio1-gpio10 for pm6150
-- 
QUALCOMM INDIA, on behalf of Qualcomm Innovation Center, Inc. is a member 
of Code Aurora Forum, hosted by The Linux Foundation


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

* [PATCH V3 3/3] dt-bindings: pinctrl: qcom-pmic-gpio: Convert qcom pmic gpio bindings to YAML
  2021-05-12 11:13 [PATCH V3 0/3] Add GPIO support for PM7325 satya priya
  2021-05-12 11:13 ` [PATCH V3 1/3] pinctrl: qcom: spmi-gpio: Add support for pm7325 satya priya
  2021-05-12 11:13 ` [PATCH V3 2/3] dt-bindings: pinctrl: qcom-pmic-gpio: Add pm7325 support satya priya
@ 2021-05-12 11:13 ` satya priya
  2021-05-13 17:43   ` Guru Das Srinagesh
  2021-05-18  0:55   ` Rob Herring
  2021-05-19 23:44 ` [PATCH V3 0/3] Add GPIO support for PM7325 Linus Walleij
  3 siblings, 2 replies; 10+ messages in thread
From: satya priya @ 2021-05-12 11:13 UTC (permalink / raw)
  To: Linus Walleij, Rob Herring, Andy Gross, Bjorn Andersson
  Cc: kgunda, linux-gpio, linux-kernel, devicetree, linux-arm-msm, satya priya

Convert Qualcomm PMIC GPIO bindings from .txt to .yaml format.

Signed-off-by: satya priya <skakit@codeaurora.org>
---
Changes in V3:
 - As per Rob's comments fixed bot erros.
 - Moved this patch to end of the series so that other patches are not
   blocked on this.

Changes in V4:
 - As per Rob's comments, added maxItems for reg and interrupts.
   Added reference of "pinmux-node.yaml" and "pincfg-node.yaml".
   Made 'additionalProperties' as false.

 .../devicetree/bindings/pinctrl/qcom,pmic-gpio.txt | 288 ---------------------
 .../bindings/pinctrl/qcom,pmic-gpio.yaml           | 245 ++++++++++++++++++
 2 files changed, 245 insertions(+), 288 deletions(-)
 delete mode 100644 Documentation/devicetree/bindings/pinctrl/qcom,pmic-gpio.txt
 create mode 100644 Documentation/devicetree/bindings/pinctrl/qcom,pmic-gpio.yaml

diff --git a/Documentation/devicetree/bindings/pinctrl/qcom,pmic-gpio.txt b/Documentation/devicetree/bindings/pinctrl/qcom,pmic-gpio.txt
deleted file mode 100644
index 161216d..0000000
--- a/Documentation/devicetree/bindings/pinctrl/qcom,pmic-gpio.txt
+++ /dev/null
@@ -1,288 +0,0 @@
-Qualcomm PMIC GPIO block
-
-This binding describes the GPIO block(s) found in the 8xxx series of
-PMIC's from Qualcomm.
-
-- compatible:
-	Usage: required
-	Value type: <string>
-	Definition: must be one of:
-		    "qcom,pm8005-gpio"
-		    "qcom,pm8018-gpio"
-		    "qcom,pm8038-gpio"
-		    "qcom,pm8058-gpio"
-		    "qcom,pm8916-gpio"
-		    "qcom,pm8917-gpio"
-		    "qcom,pm8921-gpio"
-		    "qcom,pm8941-gpio"
-		    "qcom,pm8950-gpio"
-		    "qcom,pm8994-gpio"
-		    "qcom,pm8998-gpio"
-		    "qcom,pma8084-gpio"
-		    "qcom,pmi8950-gpio"
-		    "qcom,pmi8994-gpio"
-		    "qcom,pmi8998-gpio"
-		    "qcom,pms405-gpio"
-		    "qcom,pm660-gpio"
-		    "qcom,pm660l-gpio"
-		    "qcom,pm8150-gpio"
-		    "qcom,pm8150b-gpio"
-		    "qcom,pm8350-gpio"
-		    "qcom,pm8350b-gpio"
-		    "qcom,pm8350c-gpio"
-		    "qcom,pmk8350-gpio"
-		    "qcom,pm7325-gpio"
-		    "qcom,pmr735a-gpio"
-		    "qcom,pmr735b-gpio"
-		    "qcom,pm6150-gpio"
-		    "qcom,pm6150l-gpio"
-		    "qcom,pm8008-gpio"
-		    "qcom,pmx55-gpio"
-
-		    And must contain either "qcom,spmi-gpio" or "qcom,ssbi-gpio"
-		    if the device is on an spmi bus or an ssbi bus respectively
-
-- reg:
-	Usage: required
-	Value type: <prop-encoded-array>
-	Definition: Register base of the GPIO block and length.
-
-- interrupts:
-	Usage: required
-	Value type: <prop-encoded-array>
-	Definition: Must contain an array of encoded interrupt specifiers for
-		    each available GPIO
-
-- gpio-controller:
-	Usage: required
-	Value type: <none>
-	Definition: Mark the device node as a GPIO controller
-
-- #gpio-cells:
-	Usage: required
-	Value type: <u32>
-	Definition: Must be 2;
-		    the first cell will be used to define gpio number and the
-		    second denotes the flags for this gpio
-
-Please refer to ../gpio/gpio.txt and ../interrupt-controller/interrupts.txt for
-a general description of GPIO and interrupt bindings.
-
-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".
-
-The pin configuration nodes act as a container for an arbitrary number of
-subnodes. Each of these subnodes represents some desired configuration for a
-pin or a list of pins. This configuration can include the
-mux function to select on those pin(s), and various pin configuration
-parameters, as listed below.
-
-
-SUBNODES:
-
-The name of each subnode is not important; all subnodes should be enumerated
-and processed purely based on their content.
-
-Each subnode only affects those parameters that are explicitly listed. In
-other words, a subnode that lists a mux function but no pin configuration
-parameters implies no information about any pin configuration parameters.
-Similarly, a pin subnode that describes a pullup parameter implies no
-information about e.g. the mux function.
-
-The following generic properties as defined in pinctrl-bindings.txt are valid
-to specify in a pin configuration subnode:
-
-- pins:
-	Usage: required
-	Value type: <string-array>
-	Definition: List of gpio pins affected by the properties specified in
-		    this subnode.  Valid pins are:
-		    gpio1-gpio4 for pm8005
-		    gpio1-gpio6 for pm8018
-		    gpio1-gpio12 for pm8038
-		    gpio1-gpio40 for pm8058
-		    gpio1-gpio4 for pm8916
-		    gpio1-gpio38 for pm8917
-		    gpio1-gpio44 for pm8921
-		    gpio1-gpio36 for pm8941
-		    gpio1-gpio8 for pm8950 (hole on gpio3)
-		    gpio1-gpio22 for pm8994
-		    gpio1-gpio26 for pm8998
-		    gpio1-gpio22 for pma8084
-		    gpio1-gpio2 for pmi8950
-		    gpio1-gpio10 for pmi8994
-		    gpio1-gpio12 for pms405 (holes on gpio1, gpio9 and gpio10)
-		    gpio1-gpio10 for pm8150 (holes on gpio2, gpio5, gpio7
-					     and gpio8)
-		    gpio1-gpio12 for pm8150b (holes on gpio3, gpio4, gpio7)
-		    gpio1-gpio12 for pm8150l (hole on gpio7)
-		    gpio1-gpio10 for pm8350
-		    gpio1-gpio8 for pm8350b
-		    gpio1-gpio9 for pm8350c
-		    gpio1-gpio4 for pmk8350
-		    gpio1-gpio10 for pm7325
-		    gpio1-gpio4 for pmr735a
-		    gpio1-gpio4 for pmr735b
-		    gpio1-gpio10 for pm6150
-		    gpio1-gpio12 for pm6150l
-		    gpio1-gpio2 for pm8008
-		    gpio1-gpio11 for pmx55 (holes on gpio3, gpio7, gpio10
-					    and gpio11)
-
-- function:
-	Usage: required
-	Value type: <string>
-	Definition: Specify the alternative function to be configured for the
-		    specified pins.  Valid values are:
-		    "normal",
-		    "paired",
-		    "func1",
-		    "func2",
-		    "dtest1",
-		    "dtest2",
-		    "dtest3",
-		    "dtest4",
-		    And following values are supported by LV/MV GPIO subtypes:
-		    "func3",
-		    "func4"
-
-- bias-disable:
-	Usage: optional
-	Value type: <none>
-	Definition: The specified pins should be configured as no pull.
-
-- bias-pull-down:
-	Usage: optional
-	Value type: <none>
-	Definition: The specified pins should be configured as pull down.
-
-- bias-pull-up:
-	Usage: optional
-	Value type: <empty>
-	Definition: The specified pins should be configured as pull up.
-
-- qcom,pull-up-strength:
-	Usage: optional
-	Value type: <u32>
-	Definition: Specifies the strength to use for pull up, if selected.
-		    Valid values are; as defined in
-		    <dt-bindings/pinctrl/qcom,pmic-gpio.h>:
-		    1: 30uA                     (PMIC_GPIO_PULL_UP_30)
-		    2: 1.5uA                    (PMIC_GPIO_PULL_UP_1P5)
-		    3: 31.5uA                   (PMIC_GPIO_PULL_UP_31P5)
-		    4: 1.5uA + 30uA boost       (PMIC_GPIO_PULL_UP_1P5_30)
-		    If this property is omitted 30uA strength will be used if
-		    pull up is selected
-
-- bias-high-impedance:
-	Usage: optional
-	Value type: <none>
-	Definition: The specified pins will put in high-Z mode and disabled.
-
-- input-enable:
-	Usage: optional
-	Value type: <none>
-	Definition: The specified pins are put in input mode.
-
-- output-high:
-	Usage: optional
-	Value type: <none>
-	Definition: The specified pins are configured in output mode, driven
-		    high.
-
-- output-low:
-	Usage: optional
-	Value type: <none>
-	Definition: The specified pins are configured in output mode, driven
-		    low.
-
-- power-source:
-	Usage: optional
-	Value type: <u32>
-	Definition: Selects the power source for the specified pins. Valid
-		    power sources are defined per chip in
-		    <dt-bindings/pinctrl/qcom,pmic-gpio.h>
-
-- qcom,drive-strength:
-	Usage: optional
-	Value type: <u32>
-	Definition: Selects the drive strength for the specified pins. Value
-		    drive strengths are:
-		    0: no (PMIC_GPIO_STRENGTH_NO)
-		    1: high (PMIC_GPIO_STRENGTH_HIGH) 0.9mA @ 1.8V - 1.9mA @ 2.6V
-		    2: medium (PMIC_GPIO_STRENGTH_MED) 0.6mA @ 1.8V - 1.25mA @ 2.6V
-		    3: low (PMIC_GPIO_STRENGTH_LOW) 0.15mA @ 1.8V - 0.3mA @ 2.6V
-		    as defined in <dt-bindings/pinctrl/qcom,pmic-gpio.h>
-
-- drive-push-pull:
-	Usage: optional
-	Value type: <none>
-	Definition: The specified pins are configured in push-pull mode.
-
-- drive-open-drain:
-	Usage: optional
-	Value type: <none>
-	Definition: The specified pins are configured in open-drain mode.
-
-- drive-open-source:
-	Usage: optional
-	Value type: <none>
-	Definition: The specified pins are configured in open-source mode.
-
-- qcom,analog-pass:
-	Usage: optional
-	Value type: <none>
-	Definition: The specified pins are configured in analog-pass-through mode.
-
-- qcom,atest:
-	Usage: optional
-	Value type: <u32>
-	Definition: Selects ATEST rail to route to GPIO when it's configured
-		    in analog-pass-through mode.
-		    Valid values are 1-4 corresponding to ATEST1 to ATEST4.
-
-- qcom,dtest-buffer:
-	Usage: optional
-	Value type: <u32>
-	Definition: Selects DTEST rail to route to GPIO when it's configured
-		    as digital input.
-		    Valid values are 1-4 corresponding to DTEST1 to DTEST4.
-
-Example:
-
-	pm8921_gpio: gpio@150 {
-		compatible = "qcom,pm8921-gpio", "qcom,ssbi-gpio";
-		reg = <0x150 0x160>;
-		interrupts = <192 1>, <193 1>, <194 1>,
-			     <195 1>, <196 1>, <197 1>,
-			     <198 1>, <199 1>, <200 1>,
-			     <201 1>, <202 1>, <203 1>,
-			     <204 1>, <205 1>, <206 1>,
-			     <207 1>, <208 1>, <209 1>,
-			     <210 1>, <211 1>, <212 1>,
-			     <213 1>, <214 1>, <215 1>,
-			     <216 1>, <217 1>, <218 1>,
-			     <219 1>, <220 1>, <221 1>,
-			     <222 1>, <223 1>, <224 1>,
-			     <225 1>, <226 1>, <227 1>,
-			     <228 1>, <229 1>, <230 1>,
-			     <231 1>, <232 1>, <233 1>,
-			     <234 1>, <235 1>;
-
-		gpio-controller;
-		#gpio-cells = <2>;
-
-		pm8921_gpio_keys: gpio-keys {
-			volume-keys {
-				pins = "gpio20", "gpio21";
-				function = "normal";
-
-				input-enable;
-				bias-pull-up;
-				drive-push-pull;
-				qcom,drive-strength = <PMIC_GPIO_STRENGTH_NO>;
-				power-source = <PM8921_GPIO_S4>;
-			};
-		};
-	};
diff --git a/Documentation/devicetree/bindings/pinctrl/qcom,pmic-gpio.yaml b/Documentation/devicetree/bindings/pinctrl/qcom,pmic-gpio.yaml
new file mode 100644
index 0000000..85381a0
--- /dev/null
+++ b/Documentation/devicetree/bindings/pinctrl/qcom,pmic-gpio.yaml
@@ -0,0 +1,245 @@
+# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/pinctrl/qcom,pmic-gpio.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Qualcomm PMIC GPIO block
+
+maintainers:
+  - Bjorn Andersson <bjorn.andersson@sonymobile.com>
+
+description: |
+  This binding describes the GPIO block(s) found in the 8xxx series of
+  PMIC's from Qualcomm.
+
+properties:
+  compatible:
+    items:
+      - enum:
+          - qcom,pm8005-gpio
+          - qcom,pm8018-gpio
+          - qcom,pm8038-gpio
+          - qcom,pm8058-gpio
+          - qcom,pm8916-gpio
+          - qcom,pm8917-gpio
+          - qcom,pm8921-gpio
+          - qcom,pm8941-gpio
+          - qcom,pm8950-gpio
+          - qcom,pm8994-gpio
+          - qcom,pm8998-gpio
+          - qcom,pma8084-gpio
+          - qcom,pmi8950-gpio
+          - qcom,pmi8994-gpio
+          - qcom,pmi8998-gpio
+          - qcom,pms405-gpio
+          - qcom,pm660-gpio
+          - qcom,pm660l-gpio
+          - qcom,pm8150-gpio
+          - qcom,pm8150b-gpio
+          - qcom,pm6150-gpio
+          - qcom,pm6150l-gpio
+          - qcom,pmx55-gpio
+          - qcom,pm7325-gpio
+          - qcom,pm8350c-gpio
+          - qcom,pmk8350-gpio
+          - qcom,pmr735a-gpio
+
+      - enum:
+          - qcom,spmi-gpio
+          - qcom,ssbi-gpio
+
+  reg:
+    maxItems: 1
+
+  interrupts:
+    minItems: 1
+    maxItems: 44
+
+  '#interrupt-cells':
+    const: 2
+
+  interrupt-controller: true
+
+  gpio-controller: true
+
+  gpio-ranges:
+    maxItems: 1
+
+  '#gpio-cells':
+    const: 2
+    description: |
+        The first cell will be used to define gpio number and the
+        second denotes the flags for this gpio
+
+  gpio-keys:
+    type: object
+    properties:
+      volume-keys:
+        type: object
+        anyOf:
+          - $ref: "pinmux-node.yaml"
+          - $ref: "pincfg-node.yaml"
+        properties:
+          pins:
+            description: |
+                List of gpio pins affected by the properties specified in
+                this subnode.  Valid pins are
+                     - gpio1-gpio4 for pm8005
+                     - gpio1-gpio6 for pm8018
+                     - gpio1-gpio12 for pm8038
+                     - gpio1-gpio40 for pm8058
+                     - gpio1-gpio4 for pm8916
+                     - gpio1-gpio38 for pm8917
+                     - gpio1-gpio44 for pm8921
+                     - gpio1-gpio36 for pm8941
+                     - gpio1-gpio8 for pm8950 (hole on gpio3)
+                     - gpio1-gpio22 for pm8994
+                     - gpio1-gpio26 for pm8998
+                     - gpio1-gpio22 for pma8084
+                     - gpio1-gpio2 for pmi8950
+                     - gpio1-gpio10 for pmi8994
+                     - gpio1-gpio12 for pms405 (holes on gpio1, gpio9
+                                                and gpio10)
+                     - gpio1-gpio10 for pm8150 (holes on gpio2, gpio5,
+                                                gpio7 and gpio8)
+                     - gpio1-gpio12 for pm8150b (holes on gpio3, gpio4
+                                                 and gpio7)
+                     - gpio1-gpio12 for pm8150l (hole on gpio7)
+                     - gpio1-gpio10 for pm6150
+                     - gpio1-gpio12 for pm6150l
+                     - gpio1-gpio10 for pm7325
+                     - gpio1-gpio9 for pm8350c
+                     - gpio1-gpio4 for pmk8350
+                     - gpio1-gpio4 for pmr735a
+
+            items:
+              pattern: "^gpio([0-9]+)$"
+
+          function:
+            description: |
+                Specify the alternative function to be configured for the
+                specified pins.
+            items:
+              - enum:
+                  - normal
+                  - paired
+                  - func1
+                  - func2
+                  - dtest1
+                  - dtest2
+                  - dtest3
+                  - dtest4
+                  - func3  # supported by LV/MV GPIO subtypes
+                  - func4  # supported by LV/MV GPIO subtypes
+
+          bias-disable: true
+
+          bias-pull-down: true
+
+          bias-pull-up: true
+
+          qcom,pull-up-strength:
+            $ref: /schemas/types.yaml#/definitions/uint32
+            description: |
+                Specifies the strength to use for pull up, if selected.
+                Valid values are defined in
+                <dt-bindings/pinctrl/qcom,pmic-gpio.h>
+                If this property is omitted 30uA strength will be used
+                if pull up is selected
+
+          bias-high-impedance: true
+
+          input-enable: true
+
+          output-high: true
+
+          output-low: true
+
+          power-source: true
+
+          qcom,drive-strength:
+            $ref: /schemas/types.yaml#/definitions/uint32
+            description: |
+                Selects the drive strength for the specified pins
+                Valid drive strength values are defined in
+                <dt-bindings/pinctrl/qcom,pmic-gpio.h>
+
+          drive-push-pull: true
+
+          drive-open-drain: true
+
+          drive-open-source: true
+
+          qcom,analog-pass:
+            $ref: /schemas/types.yaml#/definitions/flag
+            description: |
+                The specified pins are configured in
+                analog-pass-through mode.
+
+          qcom,atest:
+            $ref: /schemas/types.yaml#/definitions/uint32
+            description: |
+                Selects ATEST rail to route to GPIO when it's
+                configured in analog-pass-through mode.
+            enum: [1 2 3 4]
+
+          qcom,dtest-buffer:
+            $ref: /schemas/types.yaml#/definitions/uint32
+            description: |
+                Selects DTEST rail to route to GPIO when it's
+                configured as digital input.
+            enum: [1 2 3 4]
+
+        required:
+          - pins
+          - function
+
+        additionalProperties: false
+
+additionalProperties: false
+
+required:
+  - compatible
+  - reg
+
+examples:
+  - |
+    #include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
+
+    pm8921_gpio: gpio@150 {
+      compatible = "qcom,pm8921-gpio", "qcom,ssbi-gpio";
+      reg = <0x150 0x160>;
+      interrupts = <192 1>, <193 1>, <194 1>,
+                   <195 1>, <196 1>, <197 1>,
+                   <198 1>, <199 1>, <200 1>,
+                   <201 1>, <202 1>, <203 1>,
+                   <204 1>, <205 1>, <206 1>,
+                   <207 1>, <208 1>, <209 1>,
+                   <210 1>, <211 1>, <212 1>,
+                   <213 1>, <214 1>, <215 1>,
+                   <216 1>, <217 1>, <218 1>,
+                   <219 1>, <220 1>, <221 1>,
+                   <222 1>, <223 1>, <224 1>,
+                   <225 1>, <226 1>, <227 1>,
+                   <228 1>, <229 1>, <230 1>,
+                   <231 1>, <232 1>, <233 1>,
+                   <234 1>, <235 1>;
+
+      gpio-controller;
+      #gpio-cells = <2>;
+
+      pm8921_gpio_keys: gpio-keys {
+        volume-keys {
+          pins = "gpio20", "gpio21";
+          function = "normal";
+
+          input-enable;
+          bias-pull-up;
+          drive-push-pull;
+          qcom,drive-strength = <PMIC_GPIO_STRENGTH_NO>;
+          power-source = <PM8921_GPIO_S4>;
+        };
+      };
+    };
+...
-- 
QUALCOMM INDIA, on behalf of Qualcomm Innovation Center, Inc. is a member 
of Code Aurora Forum, hosted by The Linux Foundation


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

* Re: [PATCH V3 3/3] dt-bindings: pinctrl: qcom-pmic-gpio: Convert qcom pmic gpio bindings to YAML
  2021-05-12 11:13 ` [PATCH V3 3/3] dt-bindings: pinctrl: qcom-pmic-gpio: Convert qcom pmic gpio bindings to YAML satya priya
@ 2021-05-13 17:43   ` Guru Das Srinagesh
  2021-05-21  4:44     ` skakit
  2021-05-18  0:55   ` Rob Herring
  1 sibling, 1 reply; 10+ messages in thread
From: Guru Das Srinagesh @ 2021-05-13 17:43 UTC (permalink / raw)
  To: satya priya
  Cc: Linus Walleij, Rob Herring, Andy Gross, Bjorn Andersson, kgunda,
	linux-gpio, linux-kernel, devicetree, linux-arm-msm

On Wed, May 12, 2021 at 04:43:08PM +0530, satya priya wrote:
> diff --git a/Documentation/devicetree/bindings/pinctrl/qcom,pmic-gpio.yaml b/Documentation/devicetree/bindings/pinctrl/qcom,pmic-gpio.yaml
> new file mode 100644
> index 0000000..85381a0
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/pinctrl/qcom,pmic-gpio.yaml
> @@ -0,0 +1,245 @@
> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/pinctrl/qcom,pmic-gpio.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Qualcomm PMIC GPIO block
> +
> +maintainers:
> +  - Bjorn Andersson <bjorn.andersson@sonymobile.com>
> +
> +description: |
> +  This binding describes the GPIO block(s) found in the 8xxx series of
> +  PMIC's from Qualcomm.
> +
> +properties:
> +  compatible:
> +    items:
> +      - enum:
> +          - qcom,pm8005-gpio

pm8008 has been missed out in the yaml file during the conversion. could
you please add this as well?

> +          - qcom,pm8018-gpio
> +          - qcom,pm8038-gpio
> +          - qcom,pm8058-gpio
> +          - qcom,pm8916-gpio
> +          - qcom,pm8917-gpio
> +          - qcom,pm8921-gpio
> +          - qcom,pm8941-gpio
> +          - qcom,pm8950-gpio
> +          - qcom,pm8994-gpio
> +          - qcom,pm8998-gpio
> +          - qcom,pma8084-gpio
> +          - qcom,pmi8950-gpio
> +          - qcom,pmi8994-gpio
> +          - qcom,pmi8998-gpio
> +          - qcom,pms405-gpio
> +          - qcom,pm660-gpio
> +          - qcom,pm660l-gpio
> +          - qcom,pm8150-gpio
> +          - qcom,pm8150b-gpio
> +          - qcom,pm6150-gpio
> +          - qcom,pm6150l-gpio
> +          - qcom,pmx55-gpio
> +          - qcom,pm7325-gpio
> +          - qcom,pm8350c-gpio
> +          - qcom,pmk8350-gpio
> +          - qcom,pmr735a-gpio
> +
> +      - enum:
> +          - qcom,spmi-gpio
> +          - qcom,ssbi-gpio
> +
> +  reg:
> +    maxItems: 1
> +
> +  interrupts:
> +    minItems: 1
> +    maxItems: 44
> +
> +  '#interrupt-cells':
> +    const: 2
> +
> +  interrupt-controller: true
> +
> +  gpio-controller: true
> +
> +  gpio-ranges:
> +    maxItems: 1
> +
> +  '#gpio-cells':
> +    const: 2
> +    description: |
> +        The first cell will be used to define gpio number and the
> +        second denotes the flags for this gpio
> +
> +  gpio-keys:
> +    type: object
> +    properties:
> +      volume-keys:
> +        type: object
> +        anyOf:
> +          - $ref: "pinmux-node.yaml"
> +          - $ref: "pincfg-node.yaml"
> +        properties:
> +          pins:
> +            description: |
> +                List of gpio pins affected by the properties specified in
> +                this subnode.  Valid pins are
> +                     - gpio1-gpio4 for pm8005

pm8008 has been missed out in the yaml file during the conversion. could
you please add this as well?

> +                     - gpio1-gpio6 for pm8018
> +                     - gpio1-gpio12 for pm8038
> +                     - gpio1-gpio40 for pm8058

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

* Re: [PATCH V3 2/3] dt-bindings: pinctrl: qcom-pmic-gpio: Add pm7325 support
  2021-05-12 11:13 ` [PATCH V3 2/3] dt-bindings: pinctrl: qcom-pmic-gpio: Add pm7325 support satya priya
@ 2021-05-18  0:49   ` Rob Herring
  0 siblings, 0 replies; 10+ messages in thread
From: Rob Herring @ 2021-05-18  0:49 UTC (permalink / raw)
  To: satya priya
  Cc: Bjorn Andersson, Andy Gross, kgunda, linux-kernel, linux-arm-msm,
	Rob Herring, Linus Walleij, linux-gpio, devicetree

On Wed, 12 May 2021 16:43:07 +0530, satya priya wrote:
> Add compatible string for PM7325 pmic GPIO support to the
> Qualcomm PMIC GPIO binding.
> 
> Signed-off-by: satya priya <skakit@codeaurora.org>
> ---
> Changes in V2:
>  - Placed this patch before conversion patch and updated commit text
>    to be more clear.
> 
> Changes in V3:
>  - Rebased the patch and added pm7325 as others are already present.
>    updated the commit text accordingly.
> 
>  Documentation/devicetree/bindings/pinctrl/qcom,pmic-gpio.txt | 2 ++
>  1 file changed, 2 insertions(+)
> 

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

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

* Re: [PATCH V3 3/3] dt-bindings: pinctrl: qcom-pmic-gpio: Convert qcom pmic gpio bindings to YAML
  2021-05-12 11:13 ` [PATCH V3 3/3] dt-bindings: pinctrl: qcom-pmic-gpio: Convert qcom pmic gpio bindings to YAML satya priya
  2021-05-13 17:43   ` Guru Das Srinagesh
@ 2021-05-18  0:55   ` Rob Herring
  2021-05-20 13:05     ` skakit
  1 sibling, 1 reply; 10+ messages in thread
From: Rob Herring @ 2021-05-18  0:55 UTC (permalink / raw)
  To: satya priya
  Cc: Linus Walleij, Andy Gross, Bjorn Andersson, kgunda, linux-gpio,
	linux-kernel, devicetree, linux-arm-msm

On Wed, May 12, 2021 at 04:43:08PM +0530, satya priya wrote:
> Convert Qualcomm PMIC GPIO bindings from .txt to .yaml format.
> 
> Signed-off-by: satya priya <skakit@codeaurora.org>
> ---
> Changes in V3:
>  - As per Rob's comments fixed bot erros.
>  - Moved this patch to end of the series so that other patches are not
>    blocked on this.
> 
> Changes in V4:
>  - As per Rob's comments, added maxItems for reg and interrupts.
>    Added reference of "pinmux-node.yaml" and "pincfg-node.yaml".
>    Made 'additionalProperties' as false.
> 
>  .../devicetree/bindings/pinctrl/qcom,pmic-gpio.txt | 288 ---------------------
>  .../bindings/pinctrl/qcom,pmic-gpio.yaml           | 245 ++++++++++++++++++
>  2 files changed, 245 insertions(+), 288 deletions(-)
>  delete mode 100644 Documentation/devicetree/bindings/pinctrl/qcom,pmic-gpio.txt
>  create mode 100644 Documentation/devicetree/bindings/pinctrl/qcom,pmic-gpio.yaml


> diff --git a/Documentation/devicetree/bindings/pinctrl/qcom,pmic-gpio.yaml b/Documentation/devicetree/bindings/pinctrl/qcom,pmic-gpio.yaml
> new file mode 100644
> index 0000000..85381a0
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/pinctrl/qcom,pmic-gpio.yaml
> @@ -0,0 +1,245 @@
> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/pinctrl/qcom,pmic-gpio.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Qualcomm PMIC GPIO block
> +
> +maintainers:
> +  - Bjorn Andersson <bjorn.andersson@sonymobile.com>
> +
> +description: |
> +  This binding describes the GPIO block(s) found in the 8xxx series of
> +  PMIC's from Qualcomm.
> +
> +properties:
> +  compatible:
> +    items:
> +      - enum:
> +          - qcom,pm8005-gpio
> +          - qcom,pm8018-gpio
> +          - qcom,pm8038-gpio
> +          - qcom,pm8058-gpio
> +          - qcom,pm8916-gpio
> +          - qcom,pm8917-gpio
> +          - qcom,pm8921-gpio
> +          - qcom,pm8941-gpio
> +          - qcom,pm8950-gpio
> +          - qcom,pm8994-gpio
> +          - qcom,pm8998-gpio
> +          - qcom,pma8084-gpio
> +          - qcom,pmi8950-gpio
> +          - qcom,pmi8994-gpio
> +          - qcom,pmi8998-gpio
> +          - qcom,pms405-gpio
> +          - qcom,pm660-gpio
> +          - qcom,pm660l-gpio
> +          - qcom,pm8150-gpio
> +          - qcom,pm8150b-gpio
> +          - qcom,pm6150-gpio
> +          - qcom,pm6150l-gpio
> +          - qcom,pmx55-gpio
> +          - qcom,pm7325-gpio
> +          - qcom,pm8350c-gpio
> +          - qcom,pmk8350-gpio
> +          - qcom,pmr735a-gpio
> +
> +      - enum:
> +          - qcom,spmi-gpio
> +          - qcom,ssbi-gpio
> +
> +  reg:
> +    maxItems: 1
> +
> +  interrupts:
> +    minItems: 1
> +    maxItems: 44

Please say something about what the 1-44 interrupts are if you can't 
define each one.

> +
> +  '#interrupt-cells':
> +    const: 2
> +
> +  interrupt-controller: true
> +
> +  gpio-controller: true
> +
> +  gpio-ranges:
> +    maxItems: 1
> +
> +  '#gpio-cells':
> +    const: 2
> +    description: |
> +        The first cell will be used to define gpio number and the
> +        second denotes the flags for this gpio
> +
> +  gpio-keys:
> +    type: object
> +    properties:
> +      volume-keys:
> +        type: object
> +        anyOf:
> +          - $ref: "pinmux-node.yaml"
> +          - $ref: "pincfg-node.yaml"
> +        properties:
> +          pins:
> +            description: |
> +                List of gpio pins affected by the properties specified in
> +                this subnode.  Valid pins are
> +                     - gpio1-gpio4 for pm8005
> +                     - gpio1-gpio6 for pm8018
> +                     - gpio1-gpio12 for pm8038
> +                     - gpio1-gpio40 for pm8058
> +                     - gpio1-gpio4 for pm8916
> +                     - gpio1-gpio38 for pm8917
> +                     - gpio1-gpio44 for pm8921
> +                     - gpio1-gpio36 for pm8941
> +                     - gpio1-gpio8 for pm8950 (hole on gpio3)
> +                     - gpio1-gpio22 for pm8994
> +                     - gpio1-gpio26 for pm8998
> +                     - gpio1-gpio22 for pma8084
> +                     - gpio1-gpio2 for pmi8950
> +                     - gpio1-gpio10 for pmi8994
> +                     - gpio1-gpio12 for pms405 (holes on gpio1, gpio9
> +                                                and gpio10)
> +                     - gpio1-gpio10 for pm8150 (holes on gpio2, gpio5,
> +                                                gpio7 and gpio8)
> +                     - gpio1-gpio12 for pm8150b (holes on gpio3, gpio4
> +                                                 and gpio7)
> +                     - gpio1-gpio12 for pm8150l (hole on gpio7)
> +                     - gpio1-gpio10 for pm6150
> +                     - gpio1-gpio12 for pm6150l
> +                     - gpio1-gpio10 for pm7325
> +                     - gpio1-gpio9 for pm8350c
> +                     - gpio1-gpio4 for pmk8350
> +                     - gpio1-gpio4 for pmr735a
> +
> +            items:
> +              pattern: "^gpio([0-9]+)$"
> +
> +          function:
> +            description: |
> +                Specify the alternative function to be configured for the
> +                specified pins.

No need to redescribe a common property.

> +            items:
> +              - enum:
> +                  - normal
> +                  - paired
> +                  - func1
> +                  - func2
> +                  - dtest1
> +                  - dtest2
> +                  - dtest3
> +                  - dtest4
> +                  - func3  # supported by LV/MV GPIO subtypes
> +                  - func4  # supported by LV/MV GPIO subtypes
> +
> +          bias-disable: true
> +
> +          bias-pull-down: true
> +
> +          bias-pull-up: true
> +
> +          qcom,pull-up-strength:
> +            $ref: /schemas/types.yaml#/definitions/uint32
> +            description: |
> +                Specifies the strength to use for pull up, if selected.
> +                Valid values are defined in
> +                <dt-bindings/pinctrl/qcom,pmic-gpio.h>
> +                If this property is omitted 30uA strength will be used
> +                if pull up is selected
> +
> +          bias-high-impedance: true
> +
> +          input-enable: true
> +
> +          output-high: true
> +
> +          output-low: true
> +
> +          power-source: true
> +
> +          qcom,drive-strength:
> +            $ref: /schemas/types.yaml#/definitions/uint32
> +            description: |
> +                Selects the drive strength for the specified pins
> +                Valid drive strength values are defined in
> +                <dt-bindings/pinctrl/qcom,pmic-gpio.h>

Please define the constraints here.

> +
> +          drive-push-pull: true
> +
> +          drive-open-drain: true
> +
> +          drive-open-source: true
> +
> +          qcom,analog-pass:
> +            $ref: /schemas/types.yaml#/definitions/flag
> +            description: |
> +                The specified pins are configured in
> +                analog-pass-through mode.
> +
> +          qcom,atest:
> +            $ref: /schemas/types.yaml#/definitions/uint32
> +            description: |
> +                Selects ATEST rail to route to GPIO when it's
> +                configured in analog-pass-through mode.
> +            enum: [1 2 3 4]

enum: [ 1, 2, 3, 4 ]

> +
> +          qcom,dtest-buffer:
> +            $ref: /schemas/types.yaml#/definitions/uint32
> +            description: |
> +                Selects DTEST rail to route to GPIO when it's
> +                configured as digital input.
> +            enum: [1 2 3 4]

Ditto.

> +
> +        required:
> +          - pins
> +          - function
> +
> +        additionalProperties: false
> +
> +additionalProperties: false
> +
> +required:
> +  - compatible
> +  - reg
> +
> +examples:
> +  - |
> +    #include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
> +
> +    pm8921_gpio: gpio@150 {
> +      compatible = "qcom,pm8921-gpio", "qcom,ssbi-gpio";
> +      reg = <0x150 0x160>;
> +      interrupts = <192 1>, <193 1>, <194 1>,
> +                   <195 1>, <196 1>, <197 1>,
> +                   <198 1>, <199 1>, <200 1>,
> +                   <201 1>, <202 1>, <203 1>,
> +                   <204 1>, <205 1>, <206 1>,
> +                   <207 1>, <208 1>, <209 1>,
> +                   <210 1>, <211 1>, <212 1>,
> +                   <213 1>, <214 1>, <215 1>,
> +                   <216 1>, <217 1>, <218 1>,
> +                   <219 1>, <220 1>, <221 1>,
> +                   <222 1>, <223 1>, <224 1>,
> +                   <225 1>, <226 1>, <227 1>,
> +                   <228 1>, <229 1>, <230 1>,
> +                   <231 1>, <232 1>, <233 1>,
> +                   <234 1>, <235 1>;
> +
> +      gpio-controller;
> +      #gpio-cells = <2>;
> +
> +      pm8921_gpio_keys: gpio-keys {
> +        volume-keys {
> +          pins = "gpio20", "gpio21";
> +          function = "normal";
> +
> +          input-enable;
> +          bias-pull-up;
> +          drive-push-pull;
> +          qcom,drive-strength = <PMIC_GPIO_STRENGTH_NO>;
> +          power-source = <PM8921_GPIO_S4>;
> +        };
> +      };
> +    };
> +...
> -- 
> QUALCOMM INDIA, on behalf of Qualcomm Innovation Center, Inc. is a member 
> of Code Aurora Forum, hosted by The Linux Foundation
> 

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

* Re: [PATCH V3 0/3] Add GPIO support for PM7325
  2021-05-12 11:13 [PATCH V3 0/3] Add GPIO support for PM7325 satya priya
                   ` (2 preceding siblings ...)
  2021-05-12 11:13 ` [PATCH V3 3/3] dt-bindings: pinctrl: qcom-pmic-gpio: Convert qcom pmic gpio bindings to YAML satya priya
@ 2021-05-19 23:44 ` Linus Walleij
  3 siblings, 0 replies; 10+ messages in thread
From: Linus Walleij @ 2021-05-19 23:44 UTC (permalink / raw)
  To: satya priya
  Cc: Rob Herring, Andy Gross, Bjorn Andersson, Kiran Gunda,
	open list:GPIO SUBSYSTEM, linux-kernel,
	open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS, MSM

On Wed, May 12, 2021 at 1:13 PM satya priya <skakit@codeaurora.org> wrote:

> satya priya (3):
>   pinctrl: qcom: spmi-gpio: Add support for pm7325
>   dt-bindings: pinctrl: qcom-pmic-gpio: Add pm7325 support

These two patches applied!

>   dt-bindings: pinctrl: qcom-pmic-gpio: Convert qcom pmic gpio bindings
>     to YAML

Now you only need to iterate this patch.

Yours,
Linus Walleij

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

* Re: [PATCH V3 3/3] dt-bindings: pinctrl: qcom-pmic-gpio: Convert qcom pmic gpio bindings to YAML
  2021-05-18  0:55   ` Rob Herring
@ 2021-05-20 13:05     ` skakit
  0 siblings, 0 replies; 10+ messages in thread
From: skakit @ 2021-05-20 13:05 UTC (permalink / raw)
  To: Rob Herring
  Cc: Linus Walleij, Andy Gross, Bjorn Andersson, kgunda, linux-gpio,
	linux-kernel, devicetree, linux-arm-msm

On 2021-05-18 06:25, Rob Herring wrote:
> On Wed, May 12, 2021 at 04:43:08PM +0530, satya priya wrote:
>> Convert Qualcomm PMIC GPIO bindings from .txt to .yaml format.
>> 
>> Signed-off-by: satya priya <skakit@codeaurora.org>
>> ---
>> Changes in V3:
>>  - As per Rob's comments fixed bot erros.
>>  - Moved this patch to end of the series so that other patches are not
>>    blocked on this.
>> 
>> Changes in V4:
>>  - As per Rob's comments, added maxItems for reg and interrupts.
>>    Added reference of "pinmux-node.yaml" and "pincfg-node.yaml".
>>    Made 'additionalProperties' as false.
>> 
>>  .../devicetree/bindings/pinctrl/qcom,pmic-gpio.txt | 288 
>> ---------------------
>>  .../bindings/pinctrl/qcom,pmic-gpio.yaml           | 245 
>> ++++++++++++++++++
>>  2 files changed, 245 insertions(+), 288 deletions(-)
>>  delete mode 100644 
>> Documentation/devicetree/bindings/pinctrl/qcom,pmic-gpio.txt
>>  create mode 100644 
>> Documentation/devicetree/bindings/pinctrl/qcom,pmic-gpio.yaml
> 
> 
>> diff --git 
>> a/Documentation/devicetree/bindings/pinctrl/qcom,pmic-gpio.yaml 
>> b/Documentation/devicetree/bindings/pinctrl/qcom,pmic-gpio.yaml
>> new file mode 100644
>> index 0000000..85381a0
>> --- /dev/null
>> +++ b/Documentation/devicetree/bindings/pinctrl/qcom,pmic-gpio.yaml
>> @@ -0,0 +1,245 @@
>> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
>> +%YAML 1.2
>> +---
>> +$id: http://devicetree.org/schemas/pinctrl/qcom,pmic-gpio.yaml#
>> +$schema: http://devicetree.org/meta-schemas/core.yaml#
>> +
>> +title: Qualcomm PMIC GPIO block
>> +
>> +maintainers:
>> +  - Bjorn Andersson <bjorn.andersson@sonymobile.com>
>> +
>> +description: |
>> +  This binding describes the GPIO block(s) found in the 8xxx series 
>> of
>> +  PMIC's from Qualcomm.
>> +
>> +properties:
>> +  compatible:
>> +    items:
>> +      - enum:
>> +          - qcom,pm8005-gpio
>> +          - qcom,pm8018-gpio
>> +          - qcom,pm8038-gpio
>> +          - qcom,pm8058-gpio
>> +          - qcom,pm8916-gpio
>> +          - qcom,pm8917-gpio
>> +          - qcom,pm8921-gpio
>> +          - qcom,pm8941-gpio
>> +          - qcom,pm8950-gpio
>> +          - qcom,pm8994-gpio
>> +          - qcom,pm8998-gpio
>> +          - qcom,pma8084-gpio
>> +          - qcom,pmi8950-gpio
>> +          - qcom,pmi8994-gpio
>> +          - qcom,pmi8998-gpio
>> +          - qcom,pms405-gpio
>> +          - qcom,pm660-gpio
>> +          - qcom,pm660l-gpio
>> +          - qcom,pm8150-gpio
>> +          - qcom,pm8150b-gpio
>> +          - qcom,pm6150-gpio
>> +          - qcom,pm6150l-gpio
>> +          - qcom,pmx55-gpio
>> +          - qcom,pm7325-gpio
>> +          - qcom,pm8350c-gpio
>> +          - qcom,pmk8350-gpio
>> +          - qcom,pmr735a-gpio
>> +
>> +      - enum:
>> +          - qcom,spmi-gpio
>> +          - qcom,ssbi-gpio
>> +
>> +  reg:
>> +    maxItems: 1
>> +
>> +  interrupts:
>> +    minItems: 1
>> +    maxItems: 44
> 
> Please say something about what the 1-44 interrupts are if you can't
> define each one.
> 

Okay, will add the description back.

>> +
>> +  '#interrupt-cells':
>> +    const: 2
>> +
>> +  interrupt-controller: true
>> +
>> +  gpio-controller: true
>> +
>> +  gpio-ranges:
>> +    maxItems: 1
>> +
>> +  '#gpio-cells':
>> +    const: 2
>> +    description: |
>> +        The first cell will be used to define gpio number and the
>> +        second denotes the flags for this gpio
>> +
>> +  gpio-keys:
>> +    type: object
>> +    properties:
>> +      volume-keys:
>> +        type: object
>> +        anyOf:
>> +          - $ref: "pinmux-node.yaml"
>> +          - $ref: "pincfg-node.yaml"
>> +        properties:
>> +          pins:
>> +            description: |
>> +                List of gpio pins affected by the properties 
>> specified in
>> +                this subnode.  Valid pins are
>> +                     - gpio1-gpio4 for pm8005
>> +                     - gpio1-gpio6 for pm8018
>> +                     - gpio1-gpio12 for pm8038
>> +                     - gpio1-gpio40 for pm8058
>> +                     - gpio1-gpio4 for pm8916
>> +                     - gpio1-gpio38 for pm8917
>> +                     - gpio1-gpio44 for pm8921
>> +                     - gpio1-gpio36 for pm8941
>> +                     - gpio1-gpio8 for pm8950 (hole on gpio3)
>> +                     - gpio1-gpio22 for pm8994
>> +                     - gpio1-gpio26 for pm8998
>> +                     - gpio1-gpio22 for pma8084
>> +                     - gpio1-gpio2 for pmi8950
>> +                     - gpio1-gpio10 for pmi8994
>> +                     - gpio1-gpio12 for pms405 (holes on gpio1, gpio9
>> +                                                and gpio10)
>> +                     - gpio1-gpio10 for pm8150 (holes on gpio2, 
>> gpio5,
>> +                                                gpio7 and gpio8)
>> +                     - gpio1-gpio12 for pm8150b (holes on gpio3, 
>> gpio4
>> +                                                 and gpio7)
>> +                     - gpio1-gpio12 for pm8150l (hole on gpio7)
>> +                     - gpio1-gpio10 for pm6150
>> +                     - gpio1-gpio12 for pm6150l
>> +                     - gpio1-gpio10 for pm7325
>> +                     - gpio1-gpio9 for pm8350c
>> +                     - gpio1-gpio4 for pmk8350
>> +                     - gpio1-gpio4 for pmr735a
>> +
>> +            items:
>> +              pattern: "^gpio([0-9]+)$"
>> +
>> +          function:
>> +            description: |
>> +                Specify the alternative function to be configured for 
>> the
>> +                specified pins.
> 
> No need to redescribe a common property.
> 

okay, will remove.

>> +            items:
>> +              - enum:
>> +                  - normal
>> +                  - paired
>> +                  - func1
>> +                  - func2
>> +                  - dtest1
>> +                  - dtest2
>> +                  - dtest3
>> +                  - dtest4
>> +                  - func3  # supported by LV/MV GPIO subtypes
>> +                  - func4  # supported by LV/MV GPIO subtypes
>> +
>> +          bias-disable: true
>> +
>> +          bias-pull-down: true
>> +
>> +          bias-pull-up: true
>> +
>> +          qcom,pull-up-strength:
>> +            $ref: /schemas/types.yaml#/definitions/uint32
>> +            description: |
>> +                Specifies the strength to use for pull up, if 
>> selected.
>> +                Valid values are defined in
>> +                <dt-bindings/pinctrl/qcom,pmic-gpio.h>
>> +                If this property is omitted 30uA strength will be 
>> used
>> +                if pull up is selected
>> +
>> +          bias-high-impedance: true
>> +
>> +          input-enable: true
>> +
>> +          output-high: true
>> +
>> +          output-low: true
>> +
>> +          power-source: true
>> +
>> +          qcom,drive-strength:
>> +            $ref: /schemas/types.yaml#/definitions/uint32
>> +            description: |
>> +                Selects the drive strength for the specified pins
>> +                Valid drive strength values are defined in
>> +                <dt-bindings/pinctrl/qcom,pmic-gpio.h>
> 
> Please define the constraints here.
> 

Okay.

>> +
>> +          drive-push-pull: true
>> +
>> +          drive-open-drain: true
>> +
>> +          drive-open-source: true
>> +
>> +          qcom,analog-pass:
>> +            $ref: /schemas/types.yaml#/definitions/flag
>> +            description: |
>> +                The specified pins are configured in
>> +                analog-pass-through mode.
>> +
>> +          qcom,atest:
>> +            $ref: /schemas/types.yaml#/definitions/uint32
>> +            description: |
>> +                Selects ATEST rail to route to GPIO when it's
>> +                configured in analog-pass-through mode.
>> +            enum: [1 2 3 4]
> 
> enum: [ 1, 2, 3, 4 ]
> 

Okay.

>> +
>> +          qcom,dtest-buffer:
>> +            $ref: /schemas/types.yaml#/definitions/uint32
>> +            description: |
>> +                Selects DTEST rail to route to GPIO when it's
>> +                configured as digital input.
>> +            enum: [1 2 3 4]
> 
> Ditto.
> 
>> +
>> +        required:
>> +          - pins
>> +          - function
>> +
>> +        additionalProperties: false
>> +
>> +additionalProperties: false
>> +
>> +required:
>> +  - compatible
>> +  - reg
>> +
>> +examples:
>> +  - |
>> +    #include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
>> +
>> +    pm8921_gpio: gpio@150 {
>> +      compatible = "qcom,pm8921-gpio", "qcom,ssbi-gpio";
>> +      reg = <0x150 0x160>;
>> +      interrupts = <192 1>, <193 1>, <194 1>,
>> +                   <195 1>, <196 1>, <197 1>,
>> +                   <198 1>, <199 1>, <200 1>,
>> +                   <201 1>, <202 1>, <203 1>,
>> +                   <204 1>, <205 1>, <206 1>,
>> +                   <207 1>, <208 1>, <209 1>,
>> +                   <210 1>, <211 1>, <212 1>,
>> +                   <213 1>, <214 1>, <215 1>,
>> +                   <216 1>, <217 1>, <218 1>,
>> +                   <219 1>, <220 1>, <221 1>,
>> +                   <222 1>, <223 1>, <224 1>,
>> +                   <225 1>, <226 1>, <227 1>,
>> +                   <228 1>, <229 1>, <230 1>,
>> +                   <231 1>, <232 1>, <233 1>,
>> +                   <234 1>, <235 1>;
>> +
>> +      gpio-controller;
>> +      #gpio-cells = <2>;
>> +
>> +      pm8921_gpio_keys: gpio-keys {
>> +        volume-keys {
>> +          pins = "gpio20", "gpio21";
>> +          function = "normal";
>> +
>> +          input-enable;
>> +          bias-pull-up;
>> +          drive-push-pull;
>> +          qcom,drive-strength = <PMIC_GPIO_STRENGTH_NO>;
>> +          power-source = <PM8921_GPIO_S4>;
>> +        };
>> +      };
>> +    };
>> +...
>> --
>> QUALCOMM INDIA, on behalf of Qualcomm Innovation Center, Inc. is a 
>> member
>> of Code Aurora Forum, hosted by The Linux Foundation
>> 

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

* Re: [PATCH V3 3/3] dt-bindings: pinctrl: qcom-pmic-gpio: Convert qcom pmic gpio bindings to YAML
  2021-05-13 17:43   ` Guru Das Srinagesh
@ 2021-05-21  4:44     ` skakit
  0 siblings, 0 replies; 10+ messages in thread
From: skakit @ 2021-05-21  4:44 UTC (permalink / raw)
  To: Guru Das Srinagesh
  Cc: Linus Walleij, Rob Herring, Andy Gross, Bjorn Andersson, kgunda,
	linux-gpio, linux-kernel, devicetree, linux-arm-msm

On 2021-05-13 23:13, Guru Das Srinagesh wrote:
> On Wed, May 12, 2021 at 04:43:08PM +0530, satya priya wrote:
>> diff --git 
>> a/Documentation/devicetree/bindings/pinctrl/qcom,pmic-gpio.yaml 
>> b/Documentation/devicetree/bindings/pinctrl/qcom,pmic-gpio.yaml
>> new file mode 100644
>> index 0000000..85381a0
>> --- /dev/null
>> +++ b/Documentation/devicetree/bindings/pinctrl/qcom,pmic-gpio.yaml
>> @@ -0,0 +1,245 @@
>> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
>> +%YAML 1.2
>> +---
>> +$id: http://devicetree.org/schemas/pinctrl/qcom,pmic-gpio.yaml#
>> +$schema: http://devicetree.org/meta-schemas/core.yaml#
>> +
>> +title: Qualcomm PMIC GPIO block
>> +
>> +maintainers:
>> +  - Bjorn Andersson <bjorn.andersson@sonymobile.com>
>> +
>> +description: |
>> +  This binding describes the GPIO block(s) found in the 8xxx series 
>> of
>> +  PMIC's from Qualcomm.
>> +
>> +properties:
>> +  compatible:
>> +    items:
>> +      - enum:
>> +          - qcom,pm8005-gpio
> 
> pm8008 has been missed out in the yaml file during the conversion. 
> could
> you please add this as well?
> 

Will add it, thanks.

>> +          - qcom,pm8018-gpio
>> +          - qcom,pm8038-gpio
>> +          - qcom,pm8058-gpio
>> +          - qcom,pm8916-gpio
>> +          - qcom,pm8917-gpio
>> +          - qcom,pm8921-gpio
>> +          - qcom,pm8941-gpio
>> +          - qcom,pm8950-gpio
>> +          - qcom,pm8994-gpio
>> +          - qcom,pm8998-gpio
>> +          - qcom,pma8084-gpio
>> +          - qcom,pmi8950-gpio
>> +          - qcom,pmi8994-gpio
>> +          - qcom,pmi8998-gpio
>> +          - qcom,pms405-gpio
>> +          - qcom,pm660-gpio
>> +          - qcom,pm660l-gpio
>> +          - qcom,pm8150-gpio
>> +          - qcom,pm8150b-gpio
>> +          - qcom,pm6150-gpio
>> +          - qcom,pm6150l-gpio
>> +          - qcom,pmx55-gpio
>> +          - qcom,pm7325-gpio
>> +          - qcom,pm8350c-gpio
>> +          - qcom,pmk8350-gpio
>> +          - qcom,pmr735a-gpio
>> +
>> +      - enum:
>> +          - qcom,spmi-gpio
>> +          - qcom,ssbi-gpio
>> +
>> +  reg:
>> +    maxItems: 1
>> +
>> +  interrupts:
>> +    minItems: 1
>> +    maxItems: 44
>> +
>> +  '#interrupt-cells':
>> +    const: 2
>> +
>> +  interrupt-controller: true
>> +
>> +  gpio-controller: true
>> +
>> +  gpio-ranges:
>> +    maxItems: 1
>> +
>> +  '#gpio-cells':
>> +    const: 2
>> +    description: |
>> +        The first cell will be used to define gpio number and the
>> +        second denotes the flags for this gpio
>> +
>> +  gpio-keys:
>> +    type: object
>> +    properties:
>> +      volume-keys:
>> +        type: object
>> +        anyOf:
>> +          - $ref: "pinmux-node.yaml"
>> +          - $ref: "pincfg-node.yaml"
>> +        properties:
>> +          pins:
>> +            description: |
>> +                List of gpio pins affected by the properties 
>> specified in
>> +                this subnode.  Valid pins are
>> +                     - gpio1-gpio4 for pm8005
> 
> pm8008 has been missed out in the yaml file during the conversion. 
> could
> you please add this as well?
> 
>> +                     - gpio1-gpio6 for pm8018
>> +                     - gpio1-gpio12 for pm8038
>> +                     - gpio1-gpio40 for pm8058

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

end of thread, other threads:[~2021-05-21  4:45 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-05-12 11:13 [PATCH V3 0/3] Add GPIO support for PM7325 satya priya
2021-05-12 11:13 ` [PATCH V3 1/3] pinctrl: qcom: spmi-gpio: Add support for pm7325 satya priya
2021-05-12 11:13 ` [PATCH V3 2/3] dt-bindings: pinctrl: qcom-pmic-gpio: Add pm7325 support satya priya
2021-05-18  0:49   ` Rob Herring
2021-05-12 11:13 ` [PATCH V3 3/3] dt-bindings: pinctrl: qcom-pmic-gpio: Convert qcom pmic gpio bindings to YAML satya priya
2021-05-13 17:43   ` Guru Das Srinagesh
2021-05-21  4:44     ` skakit
2021-05-18  0:55   ` Rob Herring
2021-05-20 13:05     ` skakit
2021-05-19 23:44 ` [PATCH V3 0/3] Add GPIO support for PM7325 Linus Walleij

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.