Documentation/devicetree/bindings/mfd/st,stmfx.yaml

Source file repositories/reference/linux-study-clean/Documentation/devicetree/bindings/mfd/st,stmfx.yaml

File Facts

System
Linux kernel
Corpus path
Documentation/devicetree/bindings/mfd/st,stmfx.yaml
Extension
.yaml
Size
3104 bytes
Lines
123
Domain
Support Tooling And Documentation
Bucket
Documentation
Inferred role
Support Tooling And Documentation: configuration, schema, or hardware description
Status
atlas-only

Why This File Exists

Repository support layer: documentation, build tooling, samples, user-space helper tools, generated initramfs support, licenses, and validation utilities.

Dependency Surface

Detected Declarations

Annotated Snippet

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

title: STMicroelectonics Multi-Function eXpander (STMFX)

description: ST Multi-Function eXpander (STMFX) is a slave controller using I2C for
               communication with the main MCU. Its main features are GPIO expansion,
               main MCU IDD measurement (IDD is the amount of current that flows
               through VDD) and resistive touchscreen controller.

maintainers:
  - Amelie Delaunay <amelie.delaunay@foss.st.com>

properties:
  compatible:
    const: st,stmfx-0300

  reg:
    enum: [ 0x42, 0x43 ]

  interrupts:
    maxItems: 1

  drive-open-drain: true

  vdd-supply: true

  pinctrl:
    type: object

    properties:
      compatible:
        const: st,stmfx-0300-pinctrl

      "#gpio-cells":
        const: 2

      "#interrupt-cells":
        const: 2

      gpio-controller: true

      interrupt-controller: true

      gpio-ranges:
        description: if all STMFX pins[24:0] are available (no other STMFX function in use),
                     you should use gpio-ranges = <&stmfx_pinctrl 0 0 24>;
                     if agpio[3:0] are not available (STMFX Touchscreen function in use),
                     you should use gpio-ranges = <&stmfx_pinctrl 0 0 16>, <&stmfx_pinctrl 20 20 4>;
                     if agpio[7:4] are not available (STMFX IDD function in use),
                     you should use gpio-ranges = <&stmfx_pinctrl 0 0 20>;
        maxItems: 1

    patternProperties:
      "^[a-zA-Z]*-pins$":
        type: object
        additionalProperties: false

        allOf:
          - $ref: /schemas/pinctrl/pinmux-node.yaml

        properties:
          pins: true
          bias-disable: true
          bias-pull-up: true
          bias-pull-pin-default: true
          bias-pull-down: true

Annotation

Implementation Notes