xref: /freebsd/sys/contrib/device-tree/Bindings/gpio/lantiq,gpio-mm-lantiq.yaml (revision 833e5d42ab135b0238e61c5b3c19b8619677cbfa)
1*833e5d42SEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2*833e5d42SEmmanuel Vadot%YAML 1.2
3*833e5d42SEmmanuel Vadot---
4*833e5d42SEmmanuel Vadot$id: http://devicetree.org/schemas/lantiq,gpio-mm-lantiq.yaml#
5*833e5d42SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6*833e5d42SEmmanuel Vadot
7*833e5d42SEmmanuel Vadottitle: Lantiq SoC External Bus memory mapped GPIO controller
8*833e5d42SEmmanuel Vadot
9*833e5d42SEmmanuel Vadotmaintainers:
10*833e5d42SEmmanuel Vadot  - John Crispin <john@phrozen.org>
11*833e5d42SEmmanuel Vadot
12*833e5d42SEmmanuel Vadotdescription: |
13*833e5d42SEmmanuel Vadot  By attaching hardware latches to the EBU it is possible to create output
14*833e5d42SEmmanuel Vadot  only gpios. This driver configures a special memory address, which when
15*833e5d42SEmmanuel Vadot  written to outputs 16 bit to the latches.
16*833e5d42SEmmanuel Vadot
17*833e5d42SEmmanuel Vadot  The node describing the memory mapped GPIOs needs to be a child of the node
18*833e5d42SEmmanuel Vadot  describing the "lantiq,localbus".
19*833e5d42SEmmanuel Vadot
20*833e5d42SEmmanuel Vadotproperties:
21*833e5d42SEmmanuel Vadot  compatible:
22*833e5d42SEmmanuel Vadot    enum:
23*833e5d42SEmmanuel Vadot      - lantiq,gpio-mm-lantiq
24*833e5d42SEmmanuel Vadot      - lantiq,gpio-mm
25*833e5d42SEmmanuel Vadot
26*833e5d42SEmmanuel Vadot  reg:
27*833e5d42SEmmanuel Vadot    maxItems: 1
28*833e5d42SEmmanuel Vadot
29*833e5d42SEmmanuel Vadot  '#gpio-cells':
30*833e5d42SEmmanuel Vadot    const: 2
31*833e5d42SEmmanuel Vadot
32*833e5d42SEmmanuel Vadot  gpio-controller: true
33*833e5d42SEmmanuel Vadot
34*833e5d42SEmmanuel Vadot  lantiq,shadow:
35*833e5d42SEmmanuel Vadot    description: The default value that we shall assume as already set on the shift register cascade.
36*833e5d42SEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint32
37*833e5d42SEmmanuel Vadot
38*833e5d42SEmmanuel Vadotrequired:
39*833e5d42SEmmanuel Vadot  - compatible
40*833e5d42SEmmanuel Vadot  - reg
41*833e5d42SEmmanuel Vadot  - '#gpio-cells'
42*833e5d42SEmmanuel Vadot  - gpio-controller
43*833e5d42SEmmanuel Vadot
44*833e5d42SEmmanuel VadotadditionalProperties: false
45*833e5d42SEmmanuel Vadot
46*833e5d42SEmmanuel Vadotexamples:
47*833e5d42SEmmanuel Vadot  - |
48*833e5d42SEmmanuel Vadot    gpio@4000000 {
49*833e5d42SEmmanuel Vadot        compatible = "lantiq,gpio-mm-lantiq";
50*833e5d42SEmmanuel Vadot        reg = <0x4000000 0x10>;
51*833e5d42SEmmanuel Vadot        gpio-controller;
52*833e5d42SEmmanuel Vadot        #gpio-cells = <2>;
53*833e5d42SEmmanuel Vadot        lantiq,shadow = <0x77f>;
54*833e5d42SEmmanuel Vadot    };
55