diff mbox series

[v2,2/2] dt-bindings: pinctrl: mt8192: Use generic bias instead of pull-*-adv

Message ID 20220531221954.160036-3-nfraprado@collabora.com
State New
Headers show
Series [v2,1/2] dt-bindings: pinctrl: mt8192: Switch drive-strength-adv for -microamp | expand

Commit Message

NĂ­colas F. R. A. Prado May 31, 2022, 10:19 p.m. UTC
Commit cafe19db7751 ("pinctrl: mediatek: Backward compatible to previous
Mediatek's bias-pull usage") allowed the bias-pull-up and bias-pull-down
properties to be used for setting PUPD/R1/R0 type bias on mtk-paris
based SoC's, which was previously only supported by the custom
mediatek,pull-up-adv and mediatek,pull-down-adv properties.

Since the bias-pull-{up,down} properties already have defines associated
thus being more descriptive and is more universal on MediaTek platforms,
and given that there are no mediatek,pull-{up,down}-adv users on mt8192
yet, remove the custom adv properties in favor of the generic ones.

Note that only mediatek,pull-up-adv was merged in the binding, but not
its down counterpart.

While at it, also add 'if' blocks to prevent bias-disable, bias-pull-up
and bias-pull-down to be used together, since they're mutually
exclusive.

Signed-off-by: NĂ­colas F. R. A. Prado <nfraprado@collabora.com>
Reviewed-by: Rob Herring <robh@kernel.org>
Reviewed-by: AngeloGioacchino Del Regno <angelogiocchino.delregno@collabora.com>

---

Changes in v2:
- Dropped Fixes tag
- Added 'if' blocks to make bias-disable, bias-pull-up and
  bias-pull-down mutually exclusive

 .../bindings/pinctrl/pinctrl-mt8192.yaml      | 44 +++++++++++++------
 1 file changed, 30 insertions(+), 14 deletions(-)
diff mbox series

Patch

diff --git a/Documentation/devicetree/bindings/pinctrl/pinctrl-mt8192.yaml b/Documentation/devicetree/bindings/pinctrl/pinctrl-mt8192.yaml
index c8092b218f2f..6ce7e458d6fe 100644
--- a/Documentation/devicetree/bindings/pinctrl/pinctrl-mt8192.yaml
+++ b/Documentation/devicetree/bindings/pinctrl/pinctrl-mt8192.yaml
@@ -83,20 +83,21 @@  patternProperties:
           drive-strength-microamp:
             enum: [125, 250, 500, 1000]
 
-          mediatek,pull-up-adv:
-            description: |
-              Pull up settings for 2 pull resistors, R0 and R1. User can
-              configure those special pins. Valid arguments are described as below:
-              0: (R1, R0) = (0, 0) which means R1 disabled and R0 disabled.
-              1: (R1, R0) = (0, 1) which means R1 disabled and R0 enabled.
-              2: (R1, R0) = (1, 0) which means R1 enabled and R0 disabled.
-              3: (R1, R0) = (1, 1) which means R1 enabled and R0 enabled.
-            $ref: /schemas/types.yaml#/definitions/uint32
-            enum: [0, 1, 2, 3]
-
-          bias-pull-down: true
-
-          bias-pull-up: true
+          bias-pull-down:
+            oneOf:
+              - type: boolean
+                description: normal pull down.
+              - enum: [100, 101, 102, 103]
+                description: PUPD/R1/R0 pull down type. See MTK_PUPD_SET_R1R0_
+                  defines in dt-bindings/pinctrl/mt65xx.h.
+
+          bias-pull-up:
+            oneOf:
+              - type: boolean
+                description: normal pull up.
+              - enum: [100, 101, 102, 103]
+                description: PUPD/R1/R0 pull up type. See MTK_PUPD_SET_R1R0_
+                  defines in dt-bindings/pinctrl/mt65xx.h.
 
           bias-disable: true
 
@@ -123,6 +124,21 @@  patternProperties:
               properties:
                 drive-strength: false
 
+          - if:
+              required:
+                - bias-disable
+            then:
+              properties:
+                bias-pull-up: false
+                bias-pull-down: false
+
+          - if:
+              required:
+                - bias-pull-up
+            then:
+              properties:
+                bias-pull-down: false
+
         additionalProperties: false
 
 allOf: