Commit f0160397 authored by Linus Torvalds's avatar Linus Torvalds
Browse files

Merge tag 'gpio-updates-for-v6.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux

Pull gpio updates from Bartosz Golaszewski:
 "We have a single new driver, support for a bunch of new models,
  improvements in drivers and core gpiolib code as well device-tree
  bindings changes.

  Summary:

  New driver:
   - IMX System Controller Unit GPIOs

  GPIO core:
   - add fdinfo output for the GPIO character device file descriptors
     (allows user-space to determine which processes own which GPIO
     lines)
   - improvements to OF GPIO code
   - new quirk for Asus UM325UAZ in gpiolib-acpi
   - new quirk for Freescale SPI in gpiolib-of

  Driver improvements:
   - add a new macro that reduces the amount of boilerplate code in ISA
     drivers and use it in relevant drivers
   - support two new models in gpio-pca953x
   - support new model in gpio-f7188x
   - convert more drivers to use immutable irq chips
   - other minor tweaks

  Device-tree bindings:
   - add DT bindings for gpio-imx-scu
   - convert Xilinx GPIO bindings to YAML
   - reference the properties from the SPI peripheral device-tree
     bindings instead of providing custom ones in the GPIO controller
     document
   - add parsing of GPIO hog nodes to the DT bindings for gpio-mpfs-gpio
   - relax the node name requirements in gpio-stmpe
   - add new models for gpio-rcar and gpio-pxa95xx
   - add a new vendor prefix: Diodes (for Diodes, Inc.)

  Misc:
   - pulled in the immutable branch from the x86 platform drivers tree
     including support for a new simatic board that depends on GPIO
     changes"

* tag 'gpio-updates-for-v6.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux: (36 commits)
  gpio: tc3589x: Make irqchip immutable
  gpiolib: cdev: add fdinfo output for line request file descriptors
  gpio: twl4030: Reorder functions which allows to drop a forward declaraion
  gpiolib: fix OOB access in quirk callbacks
  gpiolib: of: factor out conversion from OF flags
  gpiolib: rework quirk handling in of_find_gpio()
  gpiolib: of: make Freescale SPI quirk similar to all others
  gpiolib: of: do not ignore requested index when applying quirks
  gpio: ws16c48: Ensure number of irq matches number of base
  gpio: 104-idio-16: Ensure number of irq matches number of base
  gpio: 104-idi-48: Ensure number of irq matches number of base
  gpio: 104-dio-48e: Ensure number of irq matches number of base
  counter: 104-quad-8: Ensure number of irq matches number of base
  isa: Introduce the module_isa_driver_with_irq helper macro
  gpio: pca953x: Add support for PCAL6534
  gpio: pca953x: Swap if statements to save later complexity
  gpio: pca953x: Fix pca953x_gpio_set_pull_up_down()
  dt-bindings: gpio: pca95xx: add entry for pcal6534 and PI4IOE5V6534Q
  dt-bindings: vendor-prefixes: add Diodes
  gpio: mt7621: Switch to use platform_get_irq() function
  ...
parents 3002b7a3 3c92506d
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -30,6 +30,11 @@ properties:
      Clock controller node that provides the clocks controlled by the SCU
    $ref: /schemas/clock/fsl,scu-clk.yaml

  gpio:
    description:
      Control the GPIO PINs on SCU domain over the firmware APIs
    $ref: /schemas/gpio/fsl,imx8qxp-sc-gpio.yaml

  ocotp:
    description:
      OCOTP controller node provided by the SCU
+4 −3
Original line number Diff line number Diff line
@@ -33,8 +33,6 @@ properties:
    description: GPIO connected to the OE (Output Enable) pin.
    maxItems: 1

  spi-max-frequency: true

patternProperties:
  "^(hog-[0-9]+|.+-hog(-[0-9]+)?)$":
    type: object
@@ -59,7 +57,10 @@ required:
  - '#gpio-cells'
  - registers-number

additionalProperties: false
allOf:
  - $ref: /schemas/spi/spi-peripheral-props.yaml#

unevaluatedProperties: false

examples:
  - |
+39 −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/fsl,imx8qxp-sc-gpio.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: GPIO driver over IMX SCU firmware API

maintainers:
  - Shenwei Wang <shenwei.wang@nxp.com>

description: |
  This module provides the standard interface to control the
  resource pins in SCU domain on i.MX8 platforms.

properties:
  compatible:
    enum:
      - fsl,imx8qxp-sc-gpio

  "#gpio-cells":
    const: 2

  gpio-controller: true

required:
  - compatible
  - "#gpio-cells"
  - gpio-controller

additionalProperties: false

examples:
  - |
    gpio0: gpio {
        compatible = "fsl,imx8qxp-sc-gpio";
        gpio-controller;
        #gpio-cells = <2>;
    };
+53 −46
Original line number Diff line number Diff line
@@ -15,7 +15,12 @@ description: |+

properties:
  compatible:
    enum:
    oneOf:
      - items:
          - const: diodes,pi4ioe5v6534q
          - const: nxp,pcal6534
      - items:
          - enum:
              - exar,xra1202
              - maxim,max7310
              - maxim,max7312
@@ -47,8 +52,10 @@ properties:
              - nxp,pca9574
              - nxp,pca9575
              - nxp,pca9698
              - nxp,pcal6408
              - nxp,pcal6416
              - nxp,pcal6524
              - nxp,pcal6534
              - nxp,pcal9535
              - nxp,pcal9554b
              - nxp,pcal9555a
+1 −2
Original line number Diff line number Diff line
@@ -8,8 +8,7 @@ Optional properties:
 - st,norequest-mask: bitmask specifying which GPIOs should _not_ be requestable
   due to different usage (e.g. touch, keypad)

Node name must be stmpe_gpio and should be child node of stmpe node to which it
belongs.
Node should be child node of stmpe node to which it belongs.

Example:
	stmpe_gpio {
Loading