summaryrefslogtreecommitdiff
path: root/Documentation/devicetree/bindings/gpio/lacie,netxbig-gpio-ext.yaml
blob: 42021ee14125fb36b497b9ae08ce5e3ea421de08 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/gpio/lacie,netxbig-gpio-ext.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: NetxBig GPIO extension bus

maintainers:
  - Simon Guinot <simon.guinot@sequanux.org>

description: >
  GPIO extension bus found on some LaCie/Seagate boards
  (Example: 2Big/5Big Network v2, 2Big NAS).

properties:
  compatible:
    items:
      - const: lacie,netxbig-gpio-ext

  addr-gpios:
    description: GPIOs representing the address register (LSB->MSB).
    items:
      - description: bit 0 (LSB)
      - description: bit 1
      - description: bit 2 (MSB)

  data-gpios:
    description: GPIOs representing the data register (LSB->MSB).
    items:
      - description: bit 0 (LSB)
      - description: bit 1
      - description: bit 2 (MSB)

  enable-gpio:
    description: Latches the new configuration (address, data) on raising edge.
    maxItems: 1

required:
  - compatible
  - addr-gpios
  - data-gpios
  - enable-gpio

additionalProperties: false

examples:
  - |
    #include <dt-bindings/gpio/gpio.h>

    gpio {
        compatible = "lacie,netxbig-gpio-ext";
        addr-gpios = <&gpio1 15 GPIO_ACTIVE_HIGH
                      &gpio1 16 GPIO_ACTIVE_HIGH
                      &gpio1 17 GPIO_ACTIVE_HIGH>;
        data-gpios = <&gpio1 12 GPIO_ACTIVE_HIGH
                      &gpio1 13 GPIO_ACTIVE_HIGH
                      &gpio1 14 GPIO_ACTIVE_HIGH>;
        enable-gpio = <&gpio0 29 GPIO_ACTIVE_HIGH>;
    };