# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/gpio/st,stmpe-gpio.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: STMicroelectonics Port Expander (STMPE) GPIO Block

description:
  STMicroelectronics Port Expander (STMPE) is a series of slow
  bus controllers for various expanded peripherals such as GPIO, keypad,
  touchscreen, ADC, PWM or rotator. It can contain one or several different
  peripherals connected to SPI or I2C. These bindings pertain to the
  GPIO portions of these expanders.

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

properties:
  compatible:
    const: st,stmpe-gpio

  "#gpio-cells":
    const: 2

  "#interrupt-cells":
    const: 2

  gpio-controller: true

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

  interrupt-controller: true

  st,norequest-mask:
    description:
      A bitmask of GPIO lines that cannot be requested because for
      for example not being connected to anything on the system
    $ref: /schemas/types.yaml#/definitions/uint32

patternProperties:
  "^.+-hog(-[0-9]+)?$":
    type: object

    required:
      - gpio-hog

additionalProperties: false

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