projects/linux·commit eafd95ea

Merge tag 'pinctrl-v6.16-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl

eafd95ea · Linus Torvalds <[email protected]> · 2025-05-30 09:46:28 -07:00

Pull pin control updates from Linus Walleij:
 "An especially linear and sparse improvement and new drivers release.
  Nothing exciting. The biggest change in Bartosz changes to make
  gpiochip set/get calls return error codes (something we should have
  fixed ages ago but is now finally getting fixed.)

  Core changes:

   - Add the devres devm_pinctrl_register_mappings() call that can
     register some pin control machine mappings and have them go away
     with the associated device

  New drivers:

   - Support for the Mediatek MT6893 and MT8196 SoCs

   - Support for the Renesas RZ/V2N SoC

   - Support for the NXP Freescale i.MX943 SoC

  Improvements:

   - Per-SoC suspend/resume callbacks in the Samsung drivers

   - Set all pins as input (High-Z) at probe in the MCP23S08 driver

   - Switch most GPIO chips to use the setters/getters with a return
     value

   - EGPIO support in the Qualcomm QCM2290 driver

   - Fix up the number of available GPIO lines in Qualcomm QCS8300 and
     QCS615"

* tag 'pinctrl-v6.16-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl: (82 commits)
  pinctrl: freescale: Add support for imx943 pinctrl
  pinctrl: core: add devm_pinctrl_register_mappings()
  pinctrl: remove extern specifier for functions in machine.h
  pinctrl: mediatek: eint: Fix invalid pointer dereference for v1 platforms
  pinctrl: freescale: Enable driver if platform is enabled.
  pinctrl: freescale: Depend imx-scu driver on OF
  pinctrl: armada-37xx: propagate error from armada_37xx_pmx_set_by_name()
  pinctrl: armada-37xx: propagate error from armada_37xx_gpio_get_direction()
  pinctrl: armada-37xx: propagate error from armada_37xx_pmx_gpio_set_direction()
  pinctrl: armada-37xx: propagate error from armada_37xx_gpio_get()
  pinctrl: armada-37xx: propagate error from armada_37xx_gpio_direction_output()
  pinctrl: armada-37xx: set GPIO output value before setting direction
  pinctrl: armada-37xx: use correct OUTPUT_VAL register for GPIOs > 31
  pinctrl: meson: Drop unused aml_pctl_find_group_by_name()
  pinctrl: at91: Fix possible out-of-boundary access
  pinctrl: add stubs for OF-specific pinconf functions
  pinctrl: qcom: correct the ngpios entry for QCS8300
  pinctrl: qcom: correct the ngpios entry for QCS615
  dt-bindings: pinctrl: qcom: correct gpio-ranges in examples for qcs8300
  dt-bindings: pinctrl: qcom: correct gpio-ranges in examples for qcs615
  ...
Commit
eafd95ea74846eda3e3eac6b2bb7f34619d8a6f8
Parents
9f32a03e · 08dcbe30

Merge commit. Changes below are compared with the first parent: 9f32a03e.

Changes

79 files changed · +9753 −857

FileStatusAddDelContent
Documentation/devicetree/bindings/pinctrl/amlogic,pinctrl-a4.yamlmodified+6−1View file
Documentation/devicetree/bindings/pinctrl/fsl,imx7ulp-iomuxc1.yamladded+99−0View file
Documentation/devicetree/bindings/pinctrl/fsl,imx7ulp-pinctrl.txtdeleted+0−53View before deletion
Documentation/devicetree/bindings/pinctrl/fsl,vf610-iomuxc.yamladded+83−0View file
Documentation/devicetree/bindings/pinctrl/fsl,vf610-pinctrl.txtdeleted+0−41View before deletion
Documentation/devicetree/bindings/pinctrl/mediatek,mt65xx-pinctrl.yamlmodified+32−63View file
Documentation/devicetree/bindings/pinctrl/mediatek,mt6779-pinctrl.yamlmodified+0−5View file
Documentation/devicetree/bindings/pinctrl/mediatek,mt6893-pinctrl.yamladded+193−0View file
Documentation/devicetree/bindings/pinctrl/mediatek,mt7622-pinctrl.yamlmodified+28−28View file
Documentation/devicetree/bindings/pinctrl/mediatek,mt8183-pinctrl.yamlmodified+35−35View file
Documentation/devicetree/bindings/pinctrl/mediatek,mt8192-pinctrl.yamlmodified+39−39View file
Documentation/devicetree/bindings/pinctrl/mediatek,mt8196-pinctrl.yamladded+236−0View file
Documentation/devicetree/bindings/pinctrl/qcom,qcs615-tlmm.yamlmodified+1−1View file
Documentation/devicetree/bindings/pinctrl/qcom,qcs8300-tlmm.yamlmodified+1−1View file
Documentation/devicetree/bindings/pinctrl/spacemit,k1-pinctrl.yamlmodified+18−0View file
drivers/pinctrl/Kconfigmodified+1−3View file
drivers/pinctrl/actions/pinctrl-owl.cmodified+5−3View file
drivers/pinctrl/bcm/pinctrl-bcm2835.cmodified+6−3View file
drivers/pinctrl/bcm/pinctrl-iproc-gpio.cmodified+4−2View file
drivers/pinctrl/bcm/pinctrl-nsp-gpio.cmodified+4−2View file
drivers/pinctrl/core.cmodified+29−0View file
drivers/pinctrl/freescale/Kconfigmodified+11−0View file
drivers/pinctrl/freescale/pinctrl-imx-scmi.cmodified+4−0View file
drivers/pinctrl/mediatek/Kconfigmodified+22−0View file
drivers/pinctrl/mediatek/Makefilemodified+2−0View file
drivers/pinctrl/mediatek/mtk-eint.cmodified+13−17View file
drivers/pinctrl/mediatek/mtk-eint.hmodified+4−3View file
drivers/pinctrl/mediatek/pinctrl-airoha.cmodified+8−11View file
drivers/pinctrl/mediatek/pinctrl-moore.cmodified+10−8View file
drivers/pinctrl/mediatek/pinctrl-mt6893.cadded+879−0View file
drivers/pinctrl/mediatek/pinctrl-mt8196.cadded+1860−0View file
drivers/pinctrl/mediatek/pinctrl-mtk-common-v2.cmodified+6−3View file
drivers/pinctrl/mediatek/pinctrl-mtk-common.cmodified+10−5View file
drivers/pinctrl/mediatek/pinctrl-mtk-mt6893.hadded+2283−0View file
drivers/pinctrl/mediatek/pinctrl-mtk-mt8196.hadded+3085−0View file
drivers/pinctrl/mediatek/pinctrl-paris.cmodified+7−22View file
drivers/pinctrl/meson/Kconfigmodified+12−12View file
drivers/pinctrl/meson/pinctrl-amlogic-a4.cmodified+4−18View file
drivers/pinctrl/meson/pinctrl-meson.cmodified+3−3View file
drivers/pinctrl/mvebu/pinctrl-armada-37xx.cmodified+24−19View file
drivers/pinctrl/nomadik/Kconfigmodified+3−3View file
drivers/pinctrl/nomadik/pinctrl-abx500.cmodified+4−8View file
drivers/pinctrl/pinconf.hmodified+17−0View file
drivers/pinctrl/pinctrl-amd.cmodified+5−2View file
drivers/pinctrl/pinctrl-apple-gpio.cmodified+15−15View file
drivers/pinctrl/pinctrl-at91-pio4.cmodified+12−6View file
drivers/pinctrl/pinctrl-at91.cmodified+14−7View file
drivers/pinctrl/pinctrl-axp209.cmodified+15−20View file
drivers/pinctrl/pinctrl-cy8c95x0.cmodified+9−8View file
drivers/pinctrl/pinctrl-ingenic.cmodified+5−3View file
drivers/pinctrl/pinctrl-mcp23s08.cmodified+8−0View file
drivers/pinctrl/pinctrl-microchip-sgpio.cmodified+4−4View file
drivers/pinctrl/pinctrl-ocelot.cmodified+9−8View file
drivers/pinctrl/pinctrl-pistachio.cmodified+5−3View file
drivers/pinctrl/pinctrl-rk805.cmodified+13−13View file
drivers/pinctrl/pinctrl-scmi.cmodified+1−0View file
drivers/pinctrl/pinctrl-stmfx.cmodified+8−5View file
drivers/pinctrl/pinctrl-sx150x.cmodified+12−11View file
drivers/pinctrl/qcom/pinctrl-lpass-lpi.cmodified+3−3View file
drivers/pinctrl/qcom/pinctrl-msm.cmodified+4−2View file
drivers/pinctrl/qcom/pinctrl-qcm2290.cmodified+41−29View file
drivers/pinctrl/qcom/pinctrl-qcs615.cmodified+1−1View file
drivers/pinctrl/qcom/pinctrl-qcs8300.cmodified+1−1View file
drivers/pinctrl/qcom/pinctrl-spmi-gpio.cmodified+3−3View file
drivers/pinctrl/qcom/pinctrl-spmi-mpp.cmodified+3−3View file
drivers/pinctrl/qcom/pinctrl-ssbi-gpio.cmodified+4−3View file
drivers/pinctrl/qcom/pinctrl-ssbi-mpp.cmodified+4−3View file
drivers/pinctrl/qcom/tlmm-test.cmodified+1−0View file
drivers/pinctrl/renesas/Kconfigmodified+1−0View file
drivers/pinctrl/renesas/pinctrl-rzg2l.cmodified+169−130View file
drivers/pinctrl/samsung/pinctrl-exynos-arm64.cmodified+26−26View file
drivers/pinctrl/samsung/pinctrl-exynos.cmodified+181−113View file
drivers/pinctrl/samsung/pinctrl-exynos.hmodified+26−2View file
drivers/pinctrl/samsung/pinctrl-samsung.cmodified+24−10View file
drivers/pinctrl/samsung/pinctrl-samsung.hmodified+4−4View file
drivers/pinctrl/spacemit/pinctrl-k1.cmodified+10−0View file
drivers/pinctrl/stm32/pinctrl-stm32.cmodified+5−2View file
drivers/pinctrl/uniphier/Kconfigmodified+1−1View file
include/linux/pinctrl/machine.hmodified+15−4View file

Only the first 600 diff lines are shown. Download the complete patch.

Documentation/devicetree/bindings/pinctrl/amlogic,pinctrl-a4.yaml

View file
diff --git a/Documentation/devicetree/bindings/pinctrl/amlogic,pinctrl-a4.yaml b/Documentation/devicetree/bindings/pinctrl/amlogic,pinctrl-a4.yaml
index 78279b9..a6ef479 100644
--- a/Documentation/devicetree/bindings/pinctrl/amlogic,pinctrl-a4.yaml
+++ b/Documentation/devicetree/bindings/pinctrl/amlogic,pinctrl-a4.yaml
@@ -14,7 +14,12 @@ allOf:
properties:
compatible:
- const: amlogic,pinctrl-a4
+ oneOf:
+ - const: amlogic,pinctrl-a4
+ - items:
+ - enum:
+ - amlogic,pinctrl-a5
+ - const: amlogic,pinctrl-a4
"#address-cells":
const: 2

Documentation/devicetree/bindings/pinctrl/fsl,imx7ulp-iomuxc1.yaml

View file
diff --git a/Documentation/devicetree/bindings/pinctrl/fsl,imx7ulp-iomuxc1.yaml b/Documentation/devicetree/bindings/pinctrl/fsl,imx7ulp-iomuxc1.yaml
new file mode 100644
index 0000000..957918b
--- /dev/null
+++ b/Documentation/devicetree/bindings/pinctrl/fsl,imx7ulp-iomuxc1.yaml
@@ -0,0 +1,99 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/pinctrl/fsl,imx7ulp-iomuxc1.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Freescale i.MX7ULP IOMUX Controller
+
+description: |
+ i.MX 7ULP has three IOMUXC instances: IOMUXC0 for M4 ports, IOMUXC1 for A7
+ ports and IOMUXC DDR for DDR interface.
+
+ Note: This binding doc is only for the IOMUXC1 support in A7 Domain and it
+ only supports generic pin config.
+
+ Please refer to fsl,imx-pinctrl.txt in this directory for common binding
+ part and usage.
+
+maintainers:
+ - Frank Li <[email protected]>
+
+properties:
+ compatible:
+ const: fsl,imx7ulp-iomuxc1
+
+ reg:
+ maxItems: 1
+
+patternProperties:
+ 'grp$':
+ type: object
+ description:
+ Pinctrl node's client devices use subnodes for desired pin configuration.
+ Client device subnodes use below standard properties.
+
+ properties:
+ fsl,pins:
+ description:
+ Each entry consists of 5 integers which represents the mux
+ and config setting for one pin. The first 4 integers
+ <mux_conf_reg input_reg mux_mode input_val> are specified
+ using a PIN_FUNC_ID macro, which can be found in
+ imx7ulp-pinfunc.h in the device tree source folder.
+ The last integer CONFIG is the pad setting value like
+ pull-up on this pin.
+
+ Please refer to i.MX7ULP Reference Manual for detailed
+ CONFIG settings.
+ $ref: /schemas/types.yaml#/definitions/uint32-matrix
+ items:
+ items:
+ - description: |
+ "mux_conf_reg" indicates the offset of mux register.
+ - description: |
+ "input_reg" indicates the offset of select input register.
+ - description: |
+ "mux_mode" indicates the mux value to be applied.
+ - description: |
+ "input_val" indicates the select input value to be applied.
+ - description: |
+ CONFIG bits definition:
+ PAD_CTL_OBE (1 << 17)
+ PAD_CTL_IBE (1 << 16)
+ PAD_CTL_LK (1 << 16)
+ PAD_CTL_DSE_HI (1 << 6)
+ PAD_CTL_DSE_STD (0 << 6)
+ PAD_CTL_ODE (1 << 5)
+ PAD_CTL_PUSH_PULL (0 << 5)
+ PAD_CTL_SRE_SLOW (1 << 2)
+ PAD_CTL_SRE_STD (0 << 2)
+ PAD_CTL_PE (1 << 0)
+
+ required:
+ - fsl,pins
+
+ additionalProperties: false
+
+required:
+ - compatible
+ - reg
+
+allOf:
+ - $ref: pinctrl.yaml#
+
+unevaluatedProperties: false
+
+examples:
+ - |
+ pinctrl@40ac0000 {
+ compatible = "fsl,imx7ulp-iomuxc1";
+ reg = <0x40ac0000 0x1000>;
+
+ lpuart4grp {
+ fsl,pins = <
+ 0x000c 0x0248 0x4 0x1 0x1
+ 0x0008 0x024c 0x4 0x1 0x1
+ >;
+ };
+ };

Documentation/devicetree/bindings/pinctrl/fsl,imx7ulp-pinctrl.txt

View before deletion
diff --git a/Documentation/devicetree/bindings/pinctrl/fsl,imx7ulp-pinctrl.txt b/Documentation/devicetree/bindings/pinctrl/fsl,imx7ulp-pinctrl.txt
deleted file mode 100644
index bfa3703..0000000
--- a/Documentation/devicetree/bindings/pinctrl/fsl,imx7ulp-pinctrl.txt
+++ /dev/null
@@ -1,53 +0,0 @@
-* Freescale i.MX7ULP IOMUX Controller
-
-i.MX 7ULP has three IOMUXC instances: IOMUXC0 for M4 ports, IOMUXC1 for A7
-ports and IOMUXC DDR for DDR interface.
-
-Note:
-This binding doc is only for the IOMUXC1 support in A7 Domain and it only
-supports generic pin config.
-
-Please refer to fsl,imx-pinctrl.txt in this directory for common binding
-part and usage.
-
-Required properties:
-- compatible: "fsl,imx7ulp-iomuxc1".
-- fsl,pins: Each entry consists of 5 integers which represents the mux
- and config setting for one pin. The first 4 integers
- <mux_conf_reg input_reg mux_mode input_val> are specified
- using a PIN_FUNC_ID macro, which can be found in
- imx7ulp-pinfunc.h in the device tree source folder.
- The last integer CONFIG is the pad setting value like
- pull-up on this pin.
-
- Please refer to i.MX7ULP Reference Manual for detailed
- CONFIG settings.
-
-CONFIG bits definition:
-PAD_CTL_OBE (1 << 17)
-PAD_CTL_IBE (1 << 16)
-PAD_CTL_LK (1 << 16)
-PAD_CTL_DSE_HI (1 << 6)
-PAD_CTL_DSE_STD (0 << 6)
-PAD_CTL_ODE (1 << 5)
-PAD_CTL_PUSH_PULL (0 << 5)
-PAD_CTL_SRE_SLOW (1 << 2)
-PAD_CTL_SRE_STD (0 << 2)
-PAD_CTL_PE (1 << 0)
-
-Examples:
-#include "imx7ulp-pinfunc.h"
-
-/* Pin Controller Node */
-iomuxc1: pinctrl@40ac0000 {
- compatible = "fsl,imx7ulp-iomuxc1";
- reg = <0x40ac0000 0x1000>;
-
- /* Pin Configuration Node */
- pinctrl_lpuart4: lpuart4grp {
- fsl,pins = <
- IMX7ULP_PAD_PTC3__LPUART4_RX 0x1
- IMX7ULP_PAD_PTC2__LPUART4_TX 0x1
- >;
- };
-};

Documentation/devicetree/bindings/pinctrl/fsl,vf610-iomuxc.yaml

View file
diff --git a/Documentation/devicetree/bindings/pinctrl/fsl,vf610-iomuxc.yaml b/Documentation/devicetree/bindings/pinctrl/fsl,vf610-iomuxc.yaml
new file mode 100644
index 0000000..3e13587
--- /dev/null
+++ b/Documentation/devicetree/bindings/pinctrl/fsl,vf610-iomuxc.yaml
@@ -0,0 +1,83 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/pinctrl/fsl,vf610-iomuxc.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Freescale Vybrid VF610 IOMUX Controller
+
+description:
+ Please refer to fsl,imx-pinctrl.txt in this directory for common binding part
+ and usage.
+
+maintainers:
+ - Frank Li <[email protected]>
+
+properties:
+ compatible:
+ const: fsl,vf610-iomuxc
+
+ reg:
+ maxItems: 1
+
+patternProperties:
+ 'grp$':
+ type: object
+ description:
+ Pinctrl node's client devices use subnodes for desired pin configuration.
+ Client device subnodes use below standard properties.
+
+ properties:
+ fsl,pins:
+ description:
+ two integers array, represents a group of pins mux and config setting.
+ The format is fsl,pins = <PIN_FUNC_ID CONFIG>, PIN_FUNC_ID is a pin
+ working on a specific function, CONFIG is the pad setting value such
+ as pull-up, speed, ode for this pin. Please refer to Vybrid VF610
+ datasheet for the valid pad config settings.
+ $ref: /schemas/types.yaml#/definitions/uint32-matrix
+ items:
+ items:
+ - description:
+ PIN_FUN_ID refer to vf610-pinfunc.h in device tree source folder
+ for all available PIN_FUNC_ID for Vybrid VF610.
+ - description: |
+ CONFIG bits definition is
+ PAD_CTL_SPEED_LOW (1 << 12)
+ PAD_CTL_SPEED_MED (2 << 12)
+ PAD_CTL_SPEED_HIGH (3 << 12)
+ PAD_CTL_SRE_FAST (1 << 11)
+ PAD_CTL_SRE_SLOW (0 << 11)
+ PAD_CTL_ODE (1 << 10)
+ PAD_CTL_HYS (1 << 9)
+ PAD_CTL_DSE_DISABLE (0 << 6)
+ PAD_CTL_DSE_150ohm (1 << 6)
+ PAD_CTL_DSE_75ohm (2 << 6)
+ PAD_CTL_DSE_50ohm (3 << 6)
+ PAD_CTL_DSE_37ohm (4 << 6)
+ PAD_CTL_DSE_30ohm (5 << 6)
+ PAD_CTL_DSE_25ohm (6 << 6)
+ PAD_CTL_DSE_20ohm (7 << 6)
+ PAD_CTL_PUS_100K_DOWN (0 << 4)
+ PAD_CTL_PUS_47K_UP (1 << 4)
+ PAD_CTL_PUS_100K_UP (2 << 4)
+ PAD_CTL_PUS_22K_UP (3 << 4)
+ PAD_CTL_PKE (1 << 3)
+ PAD_CTL_PUE (1 << 2)
+ PAD_CTL_OBE_ENABLE (1 << 1)
+ PAD_CTL_IBE_ENABLE (1 << 0)
+ PAD_CTL_OBE_IBE_ENABLE (3 << 0)
+
+ required:
+ - fsl,pins
+
+ additionalProperties: false
+
+required:
+ - compatible
+ - reg
+
+allOf:
+ - $ref: pinctrl.yaml#
+
+unevaluatedProperties: false

Documentation/devicetree/bindings/pinctrl/fsl,vf610-pinctrl.txt

View before deletion
diff --git a/Documentation/devicetree/bindings/pinctrl/fsl,vf610-pinctrl.txt b/Documentation/devicetree/bindings/pinctrl/fsl,vf610-pinctrl.txt
deleted file mode 100644
index ddcdeb6..0000000
--- a/Documentation/devicetree/bindings/pinctrl/fsl,vf610-pinctrl.txt
+++ /dev/null
@@ -1,41 +0,0 @@
-Freescale Vybrid VF610 IOMUX Controller
-
-Please refer to fsl,imx-pinctrl.txt in this directory for common binding part
-and usage.
-
-Required properties:
-- compatible: "fsl,vf610-iomuxc"
-- fsl,pins: two integers array, represents a group of pins mux and config
- setting. The format is fsl,pins = <PIN_FUNC_ID CONFIG>, PIN_FUNC_ID is
- a pin working on a specific function, CONFIG is the pad setting value
- such as pull-up, speed, ode for this pin. Please refer to Vybrid VF610
- datasheet for the valid pad config settings.
-
-CONFIG bits definition:
-PAD_CTL_SPEED_LOW (1 << 12)
-PAD_CTL_SPEED_MED (2 << 12)
-PAD_CTL_SPEED_HIGH (3 << 12)
-PAD_CTL_SRE_FAST (1 << 11)
-PAD_CTL_SRE_SLOW (0 << 11)
-PAD_CTL_ODE (1 << 10)
-PAD_CTL_HYS (1 << 9)
-PAD_CTL_DSE_DISABLE (0 << 6)
-PAD_CTL_DSE_150ohm (1 << 6)
-PAD_CTL_DSE_75ohm (2 << 6)
-PAD_CTL_DSE_50ohm (3 << 6)
-PAD_CTL_DSE_37ohm (4 << 6)
-PAD_CTL_DSE_30ohm (5 << 6)
-PAD_CTL_DSE_25ohm (6 << 6)
-PAD_CTL_DSE_20ohm (7 << 6)
-PAD_CTL_PUS_100K_DOWN (0 << 4)
-PAD_CTL_PUS_47K_UP (1 << 4)
-PAD_CTL_PUS_100K_UP (2 << 4)
-PAD_CTL_PUS_22K_UP (3 << 4)
-PAD_CTL_PKE (1 << 3)
-PAD_CTL_PUE (1 << 2)
-PAD_CTL_OBE_ENABLE (1 << 1)
-PAD_CTL_IBE_ENABLE (1 << 0)
-PAD_CTL_OBE_IBE_ENABLE (3 << 0)
-
-Please refer to vf610-pinfunc.h in device tree source folder
-for all available PIN_FUNC_ID for Vybrid VF610.

Documentation/devicetree/bindings/pinctrl/mediatek,mt65xx-pinctrl.yaml

View file
diff --git a/Documentation/devicetree/bindings/pinctrl/mediatek,mt65xx-pinctrl.yaml b/Documentation/devicetree/bindings/pinctrl/mediatek,mt65xx-pinctrl.yaml
index bccff08..b9680b8 100644
--- a/Documentation/devicetree/bindings/pinctrl/mediatek,mt65xx-pinctrl.yaml
+++ b/Documentation/devicetree/bindings/pinctrl/mediatek,mt65xx-pinctrl.yaml
@@ -136,75 +136,44 @@ examples:
#address-cells = <2>;
#size-cells = <2>;
- syscfg_pctl_a: syscfg-pctl-a@10005000 {
- compatible = "mediatek,mt8135-pctl-a-syscfg", "syscon";
- reg = <0 0x10005000 0 0x1000>;
- };
-
- syscfg_pctl_b: syscfg-pctl-b@1020c020 {
- compatible = "mediatek,mt8135-pctl-b-syscfg", "syscon";
- reg = <0 0x1020C020 0 0x1000>;
- };
-
pinctrl@1c20800 {
- compatible = "mediatek,mt8135-pinctrl";
- reg = <0 0x1000B000 0 0x1000>;
- mediatek,pctl-regmap = <&syscfg_pctl_a>, <&syscfg_pctl_b>;
- gpio-controller;
- #gpio-cells = <2>;
- interrupt-controller;
- #interrupt-cells = <2>;
- interrupts = <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>,
- <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>,
- <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>;
-
- i2c0_pins_a: i2c0-pins {
- pins1 {
- pinmux = <MT8135_PIN_100_SDA0__FUNC_SDA0>,
- <MT8135_PIN_101_SCL0__FUNC_SCL0>;
- bias-disable;
- };
- };
-
- i2c1_pins_a: i2c1-pins {
- pins {
- pinmux = <MT8135_PIN_195_SDA1__FUNC_SDA1>,
- <MT8135_PIN_196_SCL1__FUNC_SCL1>;
- bias-pull-up = <MTK_PUPD_SET_R1R0_01>;
+ compatible = "mediatek,mt8135-pinctrl";
+ reg = <0 0x1000B000 0 0x1000>;
+ mediatek,pctl-regmap = <&syscfg_pctl_a>, <&syscfg_pctl_b>;
+ gpio-controller;
+ #gpio-cells = <2>;
+ interrupt-controller;
+ #interrupt-cells = <2>;
+ interrupts = <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>;
+
+ i2c0_pins_a: i2c0-pins {
+ pins1 {
+ pinmux = <MT8135_PIN_100_SDA0__FUNC_SDA0>,
+ <MT8135_PIN_101_SCL0__FUNC_SCL0>;
+ bias-disable;
+ };
};
- };
- i2c2_pins_a: i2c2-pins {
- pins1 {
- pinmux = <MT8135_PIN_193_SDA2__FUNC_SDA2>;
- bias-pull-down;
+ i2c1_pins_a: i2c1-pins {
+ pins {
+ pinmux = <MT8135_PIN_195_SDA1__FUNC_SDA1>,
+ <MT8135_PIN_196_SCL1__FUNC_SCL1>;
+ bias-pull-up = <MTK_PUPD_SET_R1R0_01>;
+ };
};
- pins2 {
- pinmux = <MT8135_PIN_49_WATCHDOG__FUNC_GPIO49>;
- bias-pull-up;
- };
- };
-
- i2c3_pins_a: i2c3-pins {
- pins1 {
- pinmux = <MT8135_PIN_40_DAC_CLK__FUNC_GPIO40>,
- <MT8135_PIN_41_DAC_WS__FUNC_GPIO41>;
- bias-pull-up = <MTK_PUPD_SET_R1R0_01>;
- };
-
- pins2 {
- pinmux = <MT8135_PIN_35_SCL3__FUNC_SCL3>,
- <MT8135_PIN_36_SDA3__FUNC_SDA3>;
- output-low;
- bias-pull-up = <MTK_PUPD_SET_R1R0_01>;
- };
+ i2c2_pins_a: i2c2-pins {
+ pins1 {
+ pinmux = <MT8135_PIN_193_SDA2__FUNC_SDA2>;
+ bias-pull-down;
+ };
- pins3 {
- pinmux = <MT8135_PIN_57_JTCK__FUNC_GPIO57>,
- <MT8135_PIN_60_JTDI__FUNC_JTDI>;
- drive-strength = <32>;
+ pins2 {
+ pinmux = <MT8135_PIN_49_WATCHDOG__FUNC_GPIO49>;
+ bias-pull-up;
+ };
};
- };
};
};

Documentation/devicetree/bindings/pinctrl/mediatek,mt6779-pinctrl.yaml

View file
diff --git a/Documentation/devicetree/bindings/pinctrl/mediatek,mt6779-pinctrl.yaml b/Documentation/devicetree/bindings/pinctrl/mediatek,mt6779-pinctrl.yaml
index 3bbc00d..f4bab7a 100644
--- a/Documentation/devicetree/bindings/pinctrl/mediatek,mt6779-pinctrl.yaml
+++ b/Documentation/devicetree/bindings/pinctrl/mediatek,mt6779-pinctrl.yaml
@@ -245,9 +245,4 @@ examples:
};
};
};
-
- mmc0 {
- pinctrl-0 = <&mmc0_pins_default>;
- pinctrl-names = "default";
- };
};

Documentation/devicetree/bindings/pinctrl/mediatek,mt6893-pinctrl.yaml

View file
diff --git a/Documentation/devicetree/bindings/pinctrl/mediatek,mt6893-pinctrl.yaml b/Documentation/devicetree/bindings/pinctrl/mediatek,mt6893-pinctrl.yaml
new file mode 100644
index 0000000..fa189fe
--- /dev/null
+++ b/Documentation/devicetree/bindings/pinctrl/mediatek,mt6893-pinctrl.yaml
@@ -0,0 +1,193 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/pinctrl/mediatek,mt6893-pinctrl.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: MediaTek MT6893 Pin Controller
+
+maintainers:
+ - AngeloGioacchino Del Regno <[email protected]>
+
+description:
+ The MediaTek's MT6893 Pin controller is used to control SoC pins.
+
+properties:
+ compatible:
+ const: mediatek,mt6893-pinctrl
+
+ reg:
+ items:
+ - description: pin controller base
+ - description: rm group IO
+ - description: bm group IO
+ - description: lm group IO
+ - description: lb group IO
+ - description: rt group IO
+ - description: lt group IO
+ - description: tm group IO
+ - description: External Interrupt (EINT) controller base
+
+ reg-names:
+ items:
+ - const: base
+ - const: rm
+ - const: bm
+ - const: lm
+ - const: lb
+ - const: rt
+ - const: lt
+ - const: tm
+ - const: eint
+
+ gpio-controller: true
+
+ '#gpio-cells':
+ description:
+ Number of cells in GPIO specifier. Since the generic GPIO binding is used,
+ the amount of cells must be specified as 2. See the below mentioned gpio
+ binding representation for description of particular cells.
+ const: 2
+
+ gpio-ranges:
+ maxItems: 1
+
+ gpio-line-names: true
+
+ interrupts:
+ description: The interrupt outputs to sysirq
+ maxItems: 1
+
+ interrupt-controller: true
+
+ '#interrupt-cells':
+ const: 2
+
+# PIN CONFIGURATION NODES
+patternProperties:
+ '-pins$':
+ type: object
+ additionalProperties: false
+
+ patternProperties:
+ '^pins':
+ type: object
+ allOf:
+ - $ref: /schemas/pinctrl/pincfg-node.yaml
+ - $ref: /schemas/pinctrl/pinmux-node.yaml
+ description:
+ A pinctrl node should contain at least one subnodes representing the
+ pinctrl groups available on the machine. Each subnode will list the
+ pins it needs, and how they should be configured, with regard to muxer
+ configuration, pullups, drive strength, input enable/disable and input
+ schmitt.
+
+ properties:
+ pinmux:
+ description:
+ Integer array, represents gpio pin number and mux setting.
+ Supported pin number and mux are defined as macros in
+ arch/arm64/boot/dts/mediatek/mt8196-pinfunc.h for this SoC.
+
+ drive-strength:
+ enum: [2, 4, 6, 8, 10, 12, 14, 16]
+
+ drive-strength-microamp:
+ enum: [125, 250, 500, 1000]
+
+ bias-pull-down:
+ oneOf:
+ - type: boolean
+ - enum: [75000, 5000]
+ description: Pull down RSEL type resistance values (in ohms)
+ description:
+ For normal pull down type there is no need to specify a resistance
+ value, hence this can be specified as a boolean property.
+ For RSEL pull down type a resistance value (in ohms) can be added.
+
+ bias-pull-up:
+ oneOf:
+ - type: boolean
+ - enum: [10000, 5000, 4000, 3000]
+ description: Pull up RSEL type resistance values (in ohms)
+ description:
+ For normal pull up type there is no need to specify a resistance
+ value, hence this can be specified as a boolean property.
+ For RSEL pull up type a resistance value (in ohms) can be added.
+
+ bias-disable: true
+
+ output-high: true
+
+ output-low: true
+
+ input-enable: true
+
+ input-disable: true
+
+ input-schmitt-enable: true
+
+ input-schmitt-disable: true
+
+ required:
+ - pinmux
+
+ additionalProperties: false
+
+required:
+ - compatible
+ - reg
+ - interrupts
+ - interrupt-controller
+ - '#interrupt-cells'
+ - gpio-controller
+ - '#gpio-cells'
+ - gpio-ranges
+
+additionalProperties: false
+
+examples:
+ - |

This diff is incomplete. Download the complete patch.

Documentation/devicetree/bindings/pinctrl/mediatek,mt7622-pinctrl.yaml

View file

This diff is incomplete. Download the complete patch.

Documentation/devicetree/bindings/pinctrl/mediatek,mt8183-pinctrl.yaml

View file

This diff is incomplete. Download the complete patch.

Documentation/devicetree/bindings/pinctrl/mediatek,mt8192-pinctrl.yaml

View file

This diff is incomplete. Download the complete patch.

Documentation/devicetree/bindings/pinctrl/mediatek,mt8196-pinctrl.yaml

View file

This diff is incomplete. Download the complete patch.

Documentation/devicetree/bindings/pinctrl/qcom,qcs615-tlmm.yaml

View file

This diff is incomplete. Download the complete patch.

Documentation/devicetree/bindings/pinctrl/qcom,qcs8300-tlmm.yaml

View file

This diff is incomplete. Download the complete patch.

Documentation/devicetree/bindings/pinctrl/spacemit,k1-pinctrl.yaml

View file

This diff is incomplete. Download the complete patch.

drivers/pinctrl/Kconfig

View file

This diff is incomplete. Download the complete patch.

drivers/pinctrl/actions/pinctrl-owl.c

View file

This diff is incomplete. Download the complete patch.

drivers/pinctrl/bcm/pinctrl-bcm2835.c

View file

This diff is incomplete. Download the complete patch.

drivers/pinctrl/bcm/pinctrl-iproc-gpio.c

View file

This diff is incomplete. Download the complete patch.

drivers/pinctrl/bcm/pinctrl-nsp-gpio.c

View file

This diff is incomplete. Download the complete patch.

drivers/pinctrl/core.c

View file

This diff is incomplete. Download the complete patch.

drivers/pinctrl/freescale/Kconfig

View file

This diff is incomplete. Download the complete patch.

drivers/pinctrl/freescale/pinctrl-imx-scmi.c

View file

This diff is incomplete. Download the complete patch.

drivers/pinctrl/mediatek/Kconfig

View file

This diff is incomplete. Download the complete patch.

drivers/pinctrl/mediatek/Makefile

View file

This diff is incomplete. Download the complete patch.

drivers/pinctrl/mediatek/mtk-eint.c

View file

This diff is incomplete. Download the complete patch.

drivers/pinctrl/mediatek/mtk-eint.h

View file

This diff is incomplete. Download the complete patch.

drivers/pinctrl/mediatek/pinctrl-airoha.c

View file

This diff is incomplete. Download the complete patch.

drivers/pinctrl/mediatek/pinctrl-moore.c

View file

This diff is incomplete. Download the complete patch.

drivers/pinctrl/mediatek/pinctrl-mt6893.c

View file

This diff is incomplete. Download the complete patch.

drivers/pinctrl/mediatek/pinctrl-mt8196.c

View file

This diff is incomplete. Download the complete patch.

drivers/pinctrl/mediatek/pinctrl-mtk-common-v2.c

View file

This diff is incomplete. Download the complete patch.

drivers/pinctrl/mediatek/pinctrl-mtk-common.c

View file

This diff is incomplete. Download the complete patch.

drivers/pinctrl/mediatek/pinctrl-mtk-mt6893.h

View file

This diff is incomplete. Download the complete patch.

drivers/pinctrl/mediatek/pinctrl-mtk-mt8196.h

View file

This diff is incomplete. Download the complete patch.

drivers/pinctrl/mediatek/pinctrl-paris.c

View file

This diff is incomplete. Download the complete patch.

drivers/pinctrl/meson/Kconfig

View file

This diff is incomplete. Download the complete patch.

drivers/pinctrl/meson/pinctrl-amlogic-a4.c

View file

This diff is incomplete. Download the complete patch.

drivers/pinctrl/meson/pinctrl-meson.c

View file

This diff is incomplete. Download the complete patch.

drivers/pinctrl/mvebu/pinctrl-armada-37xx.c

View file

This diff is incomplete. Download the complete patch.

drivers/pinctrl/nomadik/Kconfig

View file

This diff is incomplete. Download the complete patch.

drivers/pinctrl/nomadik/pinctrl-abx500.c

View file

This diff is incomplete. Download the complete patch.

drivers/pinctrl/pinconf.h

View file

This diff is incomplete. Download the complete patch.

drivers/pinctrl/pinctrl-amd.c

View file

This diff is incomplete. Download the complete patch.

drivers/pinctrl/pinctrl-apple-gpio.c

View file

This diff is incomplete. Download the complete patch.

drivers/pinctrl/pinctrl-at91-pio4.c

View file

This diff is incomplete. Download the complete patch.

drivers/pinctrl/pinctrl-at91.c

View file

This diff is incomplete. Download the complete patch.

drivers/pinctrl/pinctrl-axp209.c

View file

This diff is incomplete. Download the complete patch.

drivers/pinctrl/pinctrl-cy8c95x0.c

View file

This diff is incomplete. Download the complete patch.

drivers/pinctrl/pinctrl-ingenic.c

View file

This diff is incomplete. Download the complete patch.

drivers/pinctrl/pinctrl-mcp23s08.c

View file

This diff is incomplete. Download the complete patch.

drivers/pinctrl/pinctrl-microchip-sgpio.c

View file

This diff is incomplete. Download the complete patch.

drivers/pinctrl/pinctrl-ocelot.c

View file

This diff is incomplete. Download the complete patch.

drivers/pinctrl/pinctrl-pistachio.c

View file

This diff is incomplete. Download the complete patch.

drivers/pinctrl/pinctrl-rk805.c

View file

This diff is incomplete. Download the complete patch.

drivers/pinctrl/pinctrl-scmi.c

View file

This diff is incomplete. Download the complete patch.

drivers/pinctrl/pinctrl-stmfx.c

View file

This diff is incomplete. Download the complete patch.

drivers/pinctrl/pinctrl-sx150x.c

View file

This diff is incomplete. Download the complete patch.

drivers/pinctrl/qcom/pinctrl-lpass-lpi.c

View file

This diff is incomplete. Download the complete patch.

drivers/pinctrl/qcom/pinctrl-msm.c

View file

This diff is incomplete. Download the complete patch.

drivers/pinctrl/qcom/pinctrl-qcm2290.c

View file

This diff is incomplete. Download the complete patch.

drivers/pinctrl/qcom/pinctrl-qcs615.c

View file

This diff is incomplete. Download the complete patch.

drivers/pinctrl/qcom/pinctrl-qcs8300.c

View file

This diff is incomplete. Download the complete patch.

drivers/pinctrl/qcom/pinctrl-spmi-gpio.c

View file

This diff is incomplete. Download the complete patch.

drivers/pinctrl/qcom/pinctrl-spmi-mpp.c

View file

This diff is incomplete. Download the complete patch.

drivers/pinctrl/qcom/pinctrl-ssbi-gpio.c

View file

This diff is incomplete. Download the complete patch.

drivers/pinctrl/qcom/pinctrl-ssbi-mpp.c

View file

This diff is incomplete. Download the complete patch.

drivers/pinctrl/qcom/tlmm-test.c

View file

This diff is incomplete. Download the complete patch.

drivers/pinctrl/renesas/Kconfig

View file

This diff is incomplete. Download the complete patch.

drivers/pinctrl/renesas/pinctrl-rzg2l.c

View file

This diff is incomplete. Download the complete patch.

drivers/pinctrl/samsung/pinctrl-exynos-arm64.c

View file

This diff is incomplete. Download the complete patch.

drivers/pinctrl/samsung/pinctrl-exynos.c

View file

This diff is incomplete. Download the complete patch.

drivers/pinctrl/samsung/pinctrl-exynos.h

View file

This diff is incomplete. Download the complete patch.

drivers/pinctrl/samsung/pinctrl-samsung.c

View file

This diff is incomplete. Download the complete patch.

drivers/pinctrl/samsung/pinctrl-samsung.h

View file

This diff is incomplete. Download the complete patch.

drivers/pinctrl/spacemit/pinctrl-k1.c

View file

This diff is incomplete. Download the complete patch.

drivers/pinctrl/stm32/pinctrl-stm32.c

View file

This diff is incomplete. Download the complete patch.

drivers/pinctrl/uniphier/Kconfig

View file

This diff is incomplete. Download the complete patch.

include/linux/pinctrl/machine.h

View file

This diff is incomplete. Download the complete patch.