121 lines
2.8 KiB
YAML
121 lines
2.8 KiB
YAML
# 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, 2–7=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;
|
||
};
|