Linux-6.18.2/Documentation/devicetree/bindings/pinctrl/brcm,bcm2835-gpio.yaml

121 lines
2.8 KiB
YAML
Raw Normal View History

2025-12-23 20:05:50 +08:00
# 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;
};