Commit a3df5d54 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull pin control updates from Linus Walleij:
 "No core changes this time around.

  New drivers:

   - New driver for Renesas R8A779H0 also known as R-Car V4M.

   - New driver for the Awinic AW9523/B I2C GPIO expander. I found this
     living out-of-tree in OpenWrt as an upstream attempt had stalled on
     the finishing line, so I picked it up and finished the job.

  Improvements:

   - The Nomadik pin control driver was for years re-used out of tree
     for the ST STA chips, and now the IP was re-used in a MIPS
     automotive SoC called MobilEyeq5, so it has been split in pin
     control and GPIO drivers so the latter can be reused by MobilEyeq5.
     (Along with a long list of cleanups)

   - A lot of overall cleanup and tidying up"

* tag 'pinctrl-v6.9-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl: (87 commits)
  drivers/gpio/nomadik: move dummy nmk_gpio_dbg_show_one() to header
  gpio: nomadik: remove BUG_ON() in nmk_gpio_populate_chip()
  dt-bindings: pinctrl: qcom: update compatible name for match with driver
  pinctrl: aw9523: Make the driver tristate
  pinctrl: nomadik: fix dereference of error pointer
  gpio: nomadik: Back out some managed resources
  pinctrl: aw9523: Add proper terminator
  pinctrl: core: comment that pinctrl_add_gpio_range() is deprecated
  pinctrl: pinmux: Suppress error message for -EPROBE_DEFER
  pinctrl: Add driver for Awinic AW9523/B I2C GPIO Expander
  dt-bindings: pinctrl: Add bindings for Awinic AW9523/AW9523B
  gpio: nomadik: Finish conversion to use firmware node APIs
  gpio: nomadik: fix Kconfig dependencies inbetween pinctrl & GPIO
  pinctrl: da9062: Add OF table
  dt-bindings: pinctrl: at91: add sam9x7
  pinctrl: ocelot: remove redundant assignment to variable ret
  gpio: nomadik: grab optional reset control and deassert it at probe
  gpio: nomadik: support mobileye,eyeq5-gpio
  gpio: nomadik: handle variadic GPIO count
  gpio: nomadik: support shared GPIO IRQs
  ...
parents 44f89c6d fa63587f
Loading
Loading
Loading
Loading
+0 −31
Original line number Diff line number Diff line
Nomadik GPIO controller

Required properties:
- compatible            : Should be "st,nomadik-gpio".
- reg                   : Physical base address and length of the controller's registers.
- interrupts            : The interrupt outputs from the controller.
- #gpio-cells           : Should be two:
                            The first cell is the pin number.
                            The second cell is used to specify optional parameters:
                              - bits[3:0] trigger type and level flags:
                                  1 = low-to-high edge triggered.
                                  2 = high-to-low edge triggered.
                                  4 = active high level-sensitive.
                                  8 = active low level-sensitive.
- gpio-controller       : Marks the device node as a GPIO controller.
- interrupt-controller  : Marks the device node as an interrupt controller.
- gpio-bank             : Specifies which bank a controller owns.
- st,supports-sleepmode : Specifies whether controller can sleep or not

Example:

                gpio1: gpio@8012e080 {
                        compatible = "st,nomadik-gpio";
                        reg =  <0x8012e080 0x80>;
                        interrupts = <0 120 0x4>;
                        #gpio-cells = <2>;
                        gpio-controller;
                        interrupt-controller;
                        st,supports-sleepmode;
                        gpio-bank = <1>;
                };
+95 −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/gpio/st,nomadik-gpio.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Nomadik GPIO controller

description:
  The Nomadik GPIO driver handles Nomadik SoC GPIO blocks. This block has also
  been called ST STA2X11. On the Nomadik platform, this driver is intertwined
  with pinctrl-nomadik.

maintainers:
  - Linus Walleij <linus.walleij@linaro.org>

properties:
  $nodename:
    pattern: "^gpio@[0-9a-f]+$"

  compatible:
    enum:
      - st,nomadik-gpio
      - mobileye,eyeq5-gpio

  reg:
    maxItems: 1

  interrupts:
    maxItems: 1

  "#gpio-cells":
    const: 2

  gpio-controller: true

  interrupt-controller: true

  "#interrupt-cells":
    const: 2

  gpio-bank:
    description: System-wide GPIO bank index.
    $ref: /schemas/types.yaml#/definitions/uint32

  st,supports-sleepmode:
    description: Whether the controller can sleep or not.
    $ref: /schemas/types.yaml#/definitions/flag

  clocks:
    maxItems: 1

  gpio-ranges:
    maxItems: 1

  ngpios:
    minimum: 0
    maximum: 32

  resets:
    maxItems: 1

required:
  - compatible
  - reg
  - interrupts
  - "#gpio-cells"
  - gpio-controller
  - interrupt-controller
  - gpio-bank

unevaluatedProperties: false

allOf:
  - if:
      properties:
        compatible:
          contains:
            const: mobileye,eyeq5-gpio
    then:
      properties:
        st,supports-sleepmode: false

examples:
  - |
    gpio@8012e080 {
        compatible = "st,nomadik-gpio";
        reg =  <0x8012e080 0x80>;
        interrupts = <0 120 0x4>;
        #gpio-cells = <2>;
        gpio-controller;
        interrupt-controller;
        st,supports-sleepmode;
        gpio-bank = <1>;
    };
+1 −1
Original line number Diff line number Diff line
@@ -24,7 +24,7 @@ required:
  - compatible

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

    unevaluatedProperties: false
+1 −1
Original line number Diff line number Diff line
@@ -21,7 +21,7 @@ required:
  - compatible

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

    unevaluatedProperties: false
+1 −1
Original line number Diff line number Diff line
@@ -21,7 +21,7 @@ required:
  - compatible

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

    unevaluatedProperties: false
Loading