Documentation/devicetree/bindings/pinctrl/brcm,ns-pinmux.yaml

Source file repositories/reference/linux-study-clean/Documentation/devicetree/bindings/pinctrl/brcm,ns-pinmux.yaml

File Facts

System
Linux kernel
Corpus path
Documentation/devicetree/bindings/pinctrl/brcm,ns-pinmux.yaml
Extension
.yaml
Size
2092 bytes
Lines
91
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/pinctrl/brcm,ns-pinmux.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Broadcom Northstar pins mux controller

maintainers:
  - Rafał Miłecki <rafal@milecki.pl>

description:
  Some of Northstar SoCs's pins can be used for various purposes thanks to the
  mux controller. This binding allows describing mux controller and listing
  available functions. They can be referenced later by other bindings to let
  system configure controller correctly.

  A list of pins varies across chipsets so few bindings are available.

properties:
  compatible:
    enum:
      - brcm,bcm4708-pinmux
      - brcm,bcm4709-pinmux
      - brcm,bcm53012-pinmux

  reg:
    maxItems: 1

  reg-names:
    const: cru_gpio_control

patternProperties:
  '-pins$':
    type: object
    description: pin node
    $ref: pinmux-node.yaml#

    properties:
      function:
        enum: [ spi, i2c, pwm, uart1, mdio, uart2, sdio ]
      groups:
        minItems: 1
        maxItems: 4
        items:
          enum: [ spi_grp, i2c_grp, pwm0_grp, pwm1_grp, pwm2_grp, pwm3_grp,
                  uart1_grp, mdio_grp, uart2_grp, sdio_pwr_grp, sdio_1p8v_grp ]

    required:
      - function
      - groups

    additionalProperties: false

allOf:
  - $ref: pinctrl.yaml#
  - if:
      properties:
        compatible:
          contains:
            const: brcm,bcm4708-pinmux
    then:
      patternProperties:
        '-pins$':
          properties:
            function:
              enum: [ spi, i2c, pwm, uart1 ]
            groups:
              items:
                enum: [ spi_grp, i2c_grp, pwm0_grp, pwm1_grp, pwm2_grp, pwm3_grp,

Annotation

Implementation Notes