Linux-6.18.2/Documentation/devicetree/bindings/pinctrl/brcm,bcm2835-gpio.yaml
2025-12-23 20:06:59 +08:00

121 lines
2.8 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/pinctrl/brcm,bcm2835-gpio.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Broadcom BCM2835 GPIO (and pinmux) controller
maintainers:
- Florian Fainelli <f.fainelli@gmail.com>
description: >
The BCM2835 GPIO module is a combined GPIO controller, (GPIO) interrupt
controller, and pinmux/control device.
properties:
compatible:
enum:
- brcm,bcm2835-gpio
- brcm,bcm2711-gpio
- brcm,bcm7211-gpio
reg:
maxItems: 1
'#gpio-cells':
const: 2
gpio-controller: true
gpio-ranges: true
gpio-line-names: true
interrupts:
description: >
Interrupt outputs: one per bank, then the combined “all banks” line.
BCM7211 may specify up to four per-bank wake-up lines and one combined
wake-up interrupt.
minItems: 4
maxItems: 10
'#interrupt-cells':
const: 2
interrupt-controller: true
additionalProperties:
oneOf:
- type: object
additionalProperties: false
patternProperties:
'^pins?-':
type: object
allOf:
- $ref: /schemas/pinctrl/pincfg-node.yaml#
- $ref: /schemas/pinctrl/pinmux-node.yaml#
additionalProperties: false
properties:
pins: true
function: true
bias-disable: true
bias-pull-up: true
bias-pull-down: true
output-high: true
output-low: true
required:
- pins
- function
- type: object
additionalProperties: false
deprecated: true
properties:
brcm,pins:
description:
GPIO pin numbers for legacy configuration.
$ref: /schemas/types.yaml#/definitions/uint32-array
brcm,function:
description:
Legacy mux function for the pins (0=input, 1=output, 27=alt functions).
$ref: /schemas/types.yaml#/definitions/uint32-array
maximum: 7
brcm,pull:
description: >
Legacy pull setting for the pins (0=none, 1=pull-down, 2=pull-up).
$ref: /schemas/types.yaml#/definitions/uint32-array
maximum: 2
required:
- brcm,pins
allOf:
- if:
properties:
compatible:
contains:
enum:
- brcm,bcm2835-gpio
- brcm,bcm2711-gpio
then:
properties:
interrupts:
maxItems: 5
examples:
- |
gpio@2200000 {
compatible = "brcm,bcm2835-gpio";
reg = <0x2200000 0xb4>;
interrupts = <2 17>, <2 19>, <2 18>, <2 20>, <2 21>;
#gpio-cells = <2>;
gpio-controller;
#interrupt-cells = <2>;
interrupt-controller;
};