mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
synced 2025-01-18 06:15:12 +00:00
1c23553a66
This is a generic binding for simple MMIO GPIO controllers. Although we have a single driver for these controllers, they were previously spread over several files. Consolidate them. The register descriptions are adapted from the comments in the source. There is no set order for the registers, and some registers may be omitted. Because of this, reg-names is mandatory, and no order is specified. Rename brcm,bcm6345-gpio to brcm,bcm63xx-gpio to reflect that bcm6345 has moved. Signed-off-by: Sean Anderson <sean.anderson@seco.com> Reviewed-by: Linus Walleij <linus.walleij@linaro.org> Reviewed-by: Rob Herring <robh@kernel.org> Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
73 lines
1.6 KiB
YAML
73 lines
1.6 KiB
YAML
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
|
|
%YAML 1.2
|
|
---
|
|
$id: http://devicetree.org/schemas/gpio/brcm,bcm63xx-gpio.yaml#
|
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
|
|
|
title: Broadcom BCM63xx GPIO controller
|
|
|
|
maintainers:
|
|
- Álvaro Fernández Rojas <noltari@gmail.com>
|
|
- Jonas Gorski <jonas.gorski@gmail.com>
|
|
|
|
description: |+
|
|
Bindings for Broadcom's BCM63xx memory-mapped GPIO controllers.
|
|
|
|
These bindings can be used on any BCM63xx SoC. However, BCM6338 and BCM6345
|
|
are the only ones which don't need a pinctrl driver.
|
|
|
|
BCM6338 have 8-bit data and dirout registers, where GPIO state can be read
|
|
and/or written, and the direction changed from input to output.
|
|
BCM6318, BCM6328, BCM6358, BCM6362, BCM6368 and BCM63268 have 32-bit data
|
|
and dirout registers, where GPIO state can be read and/or written, and the
|
|
direction changed from input to output.
|
|
|
|
properties:
|
|
compatible:
|
|
enum:
|
|
- brcm,bcm6318-gpio
|
|
- brcm,bcm6328-gpio
|
|
- brcm,bcm6358-gpio
|
|
- brcm,bcm6362-gpio
|
|
- brcm,bcm6368-gpio
|
|
- brcm,bcm63268-gpio
|
|
|
|
gpio-controller: true
|
|
|
|
"#gpio-cells":
|
|
const: 2
|
|
|
|
gpio-ranges:
|
|
maxItems: 1
|
|
|
|
native-endian: true
|
|
|
|
reg:
|
|
maxItems: 2
|
|
|
|
reg-names:
|
|
items:
|
|
- const: dirout
|
|
- const: dat
|
|
|
|
required:
|
|
- compatible
|
|
- reg
|
|
- reg-names
|
|
- gpio-controller
|
|
- '#gpio-cells'
|
|
|
|
additionalProperties: false
|
|
|
|
examples:
|
|
- |
|
|
gpio@0 {
|
|
compatible = "brcm,bcm63268-gpio";
|
|
reg-names = "dirout", "dat";
|
|
reg = <0x0 0x8>, <0x8 0x8>;
|
|
|
|
gpio-controller;
|
|
gpio-ranges = <&pinctrl 0 0 52>;
|
|
#gpio-cells = <2>;
|
|
};
|