Commit 882d6edf authored by Linus Torvalds's avatar Linus Torvalds
Browse files

Merge tag 'gpio-updates-for-v5.12' of git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux

Pull gpio updates from Bartosz Golaszewski:
 "It's been a relatively calm release cycle and we're actually removing
  more code than we're adding.

  Summary:

   - new driver for the Toshiba Visconti platform

   - rework of interrupt handling in gpio-tegra

   - updates for GPIO selftests: we're now using the character device to
     perform the subsystem checks

   - support for a new rcar variant + some code refactoring

   - refactoring of gpio-ep93xx

   - SPDX License identifier has been updated in the uapi header so that
     userspace programs bundling it can become fully REUSE-compliant

   - improvements to pwm handling in gpio-mvebu

   - support for interrupt handling and power management for gpio-xilinx
     as well as some code refactoring

   - support for a new chip variant in gpio-pca953x

   - removal of drivers: zte xs & intel-mid and removal of leftovers
     from intel-msic

   - impovements to intel drivers pulled from Andy Shevchenko

   - improvements to the gpio-aggregator virtual GPIO driver

   - and several minor tweaks and fixes to code and documentation all
     over the place"

* tag 'gpio-updates-for-v5.12' of git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux: (71 commits)
  gpio: pcf857x: Fix missing first interrupt
  gpio: ep93xx: refactor base IRQ number
  gpio: ep93xx: refactor ep93xx_gpio_add_bank
  gpio: ep93xx: Fix typo s/hierarchial/hierarchical
  gpio: ep93xx: drop to_irq binding
  gpio: ep93xx: Fix wrong irq numbers in port F
  gpio: uapi: use the preferred SPDX license identifier
  gpio: gpio-xilinx: Add check if width exceeds 32
  gpio: gpio-xilinx: Add support for suspend and resume
  gpio: gpio-xilinx: Add interrupt support
  gpio: gpio-xilinx: Reduce spinlock array to array
  gpio: gpio-xilinx: Simplify with dev_err_probe()
  gpio: msic: Drop driver from Makefile
  gpio: wcove: Split out to_ireg() helper and deduplicate the code
  gpio: wcove: Switch to use regmap_set_bits(), regmap_clear_bits()
  gpio: wcove: Get rid of error prone casting in IRQ handler
  gpio: intel-mid: Remove driver for deprecated platform
  gpio: msic: Remove driver for deprecated platform
  gpio: aggregator: Remove trailing comma in terminator entries
  gpio: aggregator: Use compound literal from the header
  ...
parents 0328b5f2 a8002a35
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -80,6 +80,11 @@ Required properties:

- offset: offset address inside the syscon block

Optional properties:

- marvell,pwm-offset: offset address of PWM duration control registers inside
  the syscon block

Example:
ap_syscon: system-controller@6f4000 {
	compatible = "syscon", "simple-mfd";
@@ -101,6 +106,9 @@ ap_syscon: system-controller@6f4000 {
		gpio-controller;
		#gpio-cells = <2>;
		gpio-ranges = <&ap_pinctrl 0 0 19>;
		marvell,pwm-offset = <0x10c0>;
		#pwm-cells = <2>;
		clocks = <&ap_clk 3>;
	};
};

+1 −0
Original line number Diff line number Diff line
@@ -7,6 +7,7 @@ Required Properties:
			"ti,k2g-gpio", "ti,keystone-gpio": for 66AK2G
			"ti,am654-gpio", "ti,keystone-gpio": for TI K3 AM654
			"ti,j721e-gpio", "ti,keystone-gpio": for J721E SoCs
			"ti,am64-gpio", "ti,keystone-gpio": for AM64 SoCs

- reg: Physical base address of the controller and the size of memory mapped
       registers.
+2 −1
Original line number Diff line number Diff line
@@ -32,6 +32,7 @@ properties:
      - maxim,max7327
      - nxp,pca6416
      - nxp,pca9505
      - nxp,pca9506
      - nxp,pca9534
      - nxp,pca9535
      - nxp,pca9536
@@ -70,7 +71,7 @@ properties:

  gpio-line-names:
    minItems: 1
    maxItems: 32
    maxItems: 40

  interrupts:
    maxItems: 1
+3 −0
Original line number Diff line number Diff line
@@ -48,6 +48,9 @@ properties:
              - renesas,gpio-r8a77995     # R-Car D3
          - const: renesas,rcar-gen3-gpio # R-Car Gen3 or RZ/G2

      - items:
          - const: renesas,gpio-r8a779a0  # R-Car V3U

  reg:
    maxItems: 1

+70 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/gpio/toshiba,gpio-visconti.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Toshiba Visconti ARM SoCs GPIO controller

maintainers:
  - Nobuhiro Iwamatsu <nobuhiro1.iwamatsu@toshiba.co.jp>

properties:
  compatible:
    items:
      - const: toshiba,gpio-tmpv7708

  reg:
    maxItems: 1

  "#gpio-cells":
    const: 2

  gpio-ranges: true

  gpio-controller: true

  interrupt-controller: true

  "#interrupt-cells":
    const: 2

  interrupts:
    description:
      interrupt mapping one per GPIO.
    minItems: 16
    maxItems: 16

required:
  - compatible
  - reg
  - "#gpio-cells"
  - gpio-ranges
  - gpio-controller
  - interrupt-controller
  - "#interrupt-cells"
  - interrupt-parent

additionalProperties: false

examples:
  - |
      #include <dt-bindings/interrupt-controller/irq.h>
      #include <dt-bindings/interrupt-controller/arm-gic.h>

      soc {
        #address-cells = <2>;
        #size-cells = <2>;

        gpio: gpio@28020000 {
          compatible = "toshiba,gpio-tmpv7708";
          reg = <0 0x28020000 0 0x1000>;
          #gpio-cells = <0x2>;
          gpio-ranges = <&pmux 0 0 32>;
          gpio-controller;
          interrupt-controller;
          #interrupt-cells = <2>;
          interrupt-parent = <&gic>;
        };
      };
...
Loading