Commit 348551dd authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull pin control updates from Linus Walleij:
 "Mostly drivers! Nothing special: some new Qualcomm chips as usual, and
  the new NXP S32 and nVidia BlueField-3.

  Core changes:

   - Make a lot of pin controllers with GPIO and irqchips immutable,
     i.e. not living structs, but const structs. This is driving a
     changed initiated by the irqchip maintainers.

  New drivers:

   - New driver for the NXP S32 SoC pin controller

   - As part of a thorough cleanup and restructuring of the
     Ralink/Mediatek drivers, the Ralink MIPS pin control drivers were
     folded into the Mediatek directory and the family is renamed
     "mtmips". The Ralink chips live on as Mediatek MIPS family where
     new variants can be added. As part of this work also the device
     tree bindings were reworked.

   - New subdriver for the Qualcomm SM7150 SoC.

   - New subdriver for the Qualcomm IPQ9574 SoC.

   - New driver for the nVidia BlueField-3 SoC.

   - Support for the Qualcomm PMM8654AU mixed signal circuit GPIO.

   - Support for the Qualcomm PMI632 mixed signal circuit GPIO.

  Improvements:

   - Add some missing pins and generic cleanups on the Renesas r8a779g0
     and r8a779g0 pin controllers. Generic Renesas extension for power
     source selection on several SoCs.

   - Misc cleanups for the Atmel AT91 and AT91-PIO4 pin controllers

   - Make the GPIO mode work on the Qualcomm SM8550-lpass-lpi driver.

   - Several device tree binding cleanups as the binding YAML syntax is
     solidifying"

* tag 'pinctrl-v6.4-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl: (153 commits)
  pinctrl-bcm2835.c: fix race condition when setting gpio dir
  dt-bindings: pinctrl: qcom,sm8150: Drop duplicate function value "atest_usb2"
  dt-bindings: pinctrl: qcom: Add few missing functions
  pinctrl: qcom: spmi-gpio: Add PMI632 support
  dt-bindings: pinctrl: qcom,pmic-gpio: add PMI632
  pinctrl: wpcm450: select MFD_SYSCON
  pinctrl: qcom ssbi-gpio: Convert to immutable irq_chip
  pinctrl: qcom ssbi-mpp: Convert to immutable irq_chip
  pinctrl: qcom spmi-mpp: Convert to immutable irq_chip
  pinctrl: plgpio: Convert to immutable irq_chip
  pinctrl: pistachio: Convert to immutable irq_chip
  pinctrl: pic32: Convert to immutable irq_chip
  pinctrl: sx150x: Convert to immutable irq_chip
  pinctrl: stmfx: Convert to immutable irq_chip
  pinctrl: st: Convert to immutable irq_chip
  pinctrl: mcp23s08: Convert to immutable irq_chip
  pinctrl: equilibrium: Convert to immutable irq_chip
  pinctrl: npcm7xx: Convert to immutable irq_chip
  pinctrl: armada-37xx: Convert to immutable irq_chip
  pinctrl: nsp: Convert to immutable irq_chip
  ...
parents 7df047b3 b7badd75
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -39,6 +39,10 @@ properties:
  reg:
    maxItems: 1

  gpio-line-names:
    minItems: 1
    maxItems: 16

  gpio-controller: true

  '#gpio-cells':
+1 −1
Original line number Diff line number Diff line
@@ -185,7 +185,7 @@ patternProperties:
    additionalProperties: false

allOf:
  - $ref: "pinctrl.yaml#"
  - $ref: pinctrl.yaml#

required:
  - compatible
+1 −1
Original line number Diff line number Diff line
@@ -142,7 +142,7 @@ allOf:
  # boards are defining it at the moment so it would generate a lot of
  # warnings.

  - $ref: "pinctrl.yaml#"
  - $ref: pinctrl.yaml#
  - if:
      not:
        properties:
+67 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/pinctrl/amlogic,meson-pinctrl-a1.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Amlogic Meson A1 pinmux controller

maintainers:
  - Neil Armstrong <neil.armstrong@linaro.org>

allOf:
  - $ref: amlogic,meson-pinctrl-common.yaml#

properties:
  compatible:
    enum:
      - amlogic,meson-a1-periphs-pinctrl
      - amlogic,meson-s4-periphs-pinctrl

required:
  - compatible

patternProperties:
  "^bank@[0-9a-z]+$":
    $ref: amlogic,meson-pinctrl-common.yaml#/$defs/meson-gpio

    unevaluatedProperties: false

    properties:
      reg:
        maxItems: 2

      reg-names:
        items:
          - const: mux
          - const: gpio

unevaluatedProperties:
  type: object
  $ref: amlogic,meson-pinctrl-common.yaml#/$defs/meson-pins

examples:
  - |
    periphs_pinctrl: pinctrl {
      compatible = "amlogic,meson-a1-periphs-pinctrl";
      #address-cells = <1>;
      #size-cells = <1>;
      ranges;

      bank@400 {
        reg = <0x0400 0x003c>,
              <0x0480 0x0118>;
        reg-names = "mux", "gpio";
        gpio-controller;
        #gpio-cells = <2>;
        gpio-ranges = <&periphs_pinctrl 0 0 62>;
      };

      cec_ao_a_h_pins: cec_ao_a_h {
        mux {
          groups = "cec_ao_a_h";
          function = "cec_ao_a_h";
          bias-disable;
        };
      };
    };
+57 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/pinctrl/amlogic,meson-pinctrl-common.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Amlogic Meson pinmux controller

maintainers:
  - Neil Armstrong <neil.armstrong@linaro.org>

allOf:
  - $ref: pinctrl.yaml#

properties:
  ranges: true

  "#address-cells":
    enum: [1, 2]

  "#size-cells":
    enum: [1, 2]

required:
  - ranges
  - "#address-cells"
  - "#size-cells"

additionalProperties: true

$defs:
  meson-gpio:
    type: object

    properties:
      gpio-controller: true

      "#gpio-cells":
        const: 2

      gpio-ranges:
        maxItems: 1

    required:
      - reg
      - reg-names
      - gpio-controller
      - "#gpio-cells"
      - gpio-ranges

  meson-pins:
    type: object
    additionalProperties:
      type: object
      allOf:
        - $ref: pincfg-node.yaml#
        - $ref: pinmux-node.yaml#
Loading