[PATCH v4 12/13] dt-bindings: pinctrl: mediatek,mt6779-pinctrl: Document MT6735 pin controller

From: Yassine Oudjana
Date: Fri Oct 28 2022 - 11:36:55 EST


From: Yassine Oudjana <y.oudjana@xxxxxxxxxxxxxx>

Add bindings for the pin controller found on MediaTek MT6735 and
MT6735M SoCs, including describing a method to manually specify
a pin and function in the pinmux property making defining bindings
for each pin/function combination unnecessary. The pin controllers
on those SoCs are generally identical, with the only difference
being the lack of MSDC2 pins (198-203) on MT6735M.

Signed-off-by: Yassine Oudjana <y.oudjana@xxxxxxxxxxxxxx>
Reviewed-by: Rob Herring <robh@xxxxxxxxxx>
---
.../pinctrl/mediatek,mt6779-pinctrl.yaml | 55 ++++++++++++++++++-
MAINTAINERS | 6 ++
2 files changed, 60 insertions(+), 1 deletion(-)

diff --git a/Documentation/devicetree/bindings/pinctrl/mediatek,mt6779-pinctrl.yaml b/Documentation/devicetree/bindings/pinctrl/mediatek,mt6779-pinctrl.yaml
index 88a4c4ef28e5..2c124b168bc5 100644
--- a/Documentation/devicetree/bindings/pinctrl/mediatek,mt6779-pinctrl.yaml
+++ b/Documentation/devicetree/bindings/pinctrl/mediatek,mt6779-pinctrl.yaml
@@ -10,6 +10,7 @@ maintainers:
- Andy Teng <andy.teng@xxxxxxxxxxxx>
- AngeloGioacchino Del Regno <angelogioacchino.delregno@xxxxxxxxxxxxx>
- Sean Wang <sean.wang@xxxxxxxxxx>
+ - Yassine Oudjana <y.oudjana@xxxxxxxxxxxxxx>

description:
The MediaTek pin controller on MT6779 is used to control pin
@@ -18,6 +19,8 @@ description:
properties:
compatible:
enum:
+ - mediatek,mt6735-pinctrl
+ - mediatek,mt6735m-pinctrl
- mediatek,mt6765-pinctrl
- mediatek,mt6779-pinctrl
- mediatek,mt6795-pinctrl
@@ -151,6 +154,42 @@ patternProperties:

allOf:
- $ref: "pinctrl.yaml#"
+ - if:
+ properties:
+ compatible:
+ contains:
+ enum:
+ - mediatek,mt6735-pinctrl
+ - mediatek,mt6735m-pinctrl
+ then:
+ properties:
+ reg:
+ minItems: 8
+ maxItems: 8
+
+ reg-names:
+ items:
+ - const: gpio
+ - const: iocfg0
+ - const: iocfg1
+ - const: iocfg2
+ - const: iocfg3
+ - const: iocfg4
+ - const: iocfg5
+ - const: eint
+
+ interrupts:
+ items:
+ - description: EINT interrupt
+
+ patternProperties:
+ '-pins$':
+ patternProperties:
+ '^pins':
+ properties:
+ drive-strength:
+ enum: [1, 2, 4, 8, 16]
+
- if:
properties:
compatible:
@@ -349,18 +388,32 @@ examples:
};

/* GPIO0 set as multifunction GPIO0 */
- gpio-pins {
+ gpio0-pins {
pins {
pinmux = <PINMUX_GPIO0__FUNC_GPIO0>;
};
};

+ /* GPIO1 set to function 0 (GPIO) */
+ gpio1-pins {
+ pins {
+ pinmux = <(MTK_PIN_NO(1) | 0)>;
+ };
+ };
+
/* GPIO52 set as multifunction SDA0 */
i2c0-pins {
pins {
pinmux = <PINMUX_GPIO52__FUNC_SDA0>;
};
};
+
+ /* GPIO62 set to function 1 (primary function) */
+ i2c1-pins {
+ pins {
+ pinmux = <(MTK_PIN_NO(62) | 1)>;
+ };
+ };
};

mmc0 {
diff --git a/MAINTAINERS b/MAINTAINERS
index 4fd8037263d9..ba5ac4422f00 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -16314,6 +16314,12 @@ F: Documentation/devicetree/bindings/pinctrl/mediatek,mt7622-pinctrl.yaml
F: Documentation/devicetree/bindings/pinctrl/mediatek,mt8183-pinctrl.yaml
F: drivers/pinctrl/mediatek/

+PIN CONTROLLER - MEDIATEK MT6735
+M: Yassine Oudjana <y.oudjana@xxxxxxxxxxxxxx>
+L: linux-mediatek@xxxxxxxxxxxxxxxxxxx (moderated for non-subscribers)
+S: Maintained
+F: Documentation/devicetree/bindings/pinctrl/mediatek,mt6779-pinctrl.yaml
+
PIN CONTROLLER - MICROCHIP AT91
M: Ludovic Desroches <ludovic.desroches@xxxxxxxxxxxxx>
L: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx (moderated for non-subscribers)
--
2.38.1