Documentation / devicetree / bindings / gpio / lacie,netxbig-gpio-ext.yaml


Based on kernel version 6.17. Page generated on 2025-10-03 10:04 EST.

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>;
    };