xref: /linux/Documentation/devicetree/bindings/gpio/gpio-stp-xway.yaml (revision 762f99f4f3cb41a775b5157dd761217beba65873)
1eda627f6SAleksander Jan Bajkowski# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2eda627f6SAleksander Jan Bajkowski%YAML 1.2
3eda627f6SAleksander Jan Bajkowski---
4eda627f6SAleksander Jan Bajkowski$id: http://devicetree.org/schemas/gpio/gpio-stp-xway.yaml#
5eda627f6SAleksander Jan Bajkowski$schema: http://devicetree.org/meta-schemas/core.yaml#
6eda627f6SAleksander Jan Bajkowski
7eda627f6SAleksander Jan Bajkowskititle: Lantiq SoC Serial To Parallel (STP) GPIO controller
8eda627f6SAleksander Jan Bajkowski
9eda627f6SAleksander Jan Bajkowskidescription: |
10eda627f6SAleksander Jan Bajkowski  The Serial To Parallel (STP) is found on MIPS based Lantiq socs. It is a
11eda627f6SAleksander Jan Bajkowski  peripheral controller used to drive external shift register cascades. At most
12eda627f6SAleksander Jan Bajkowski  3 groups of 8 bits can be driven. The hardware is able to allow the DSL modem
13eda627f6SAleksander Jan Bajkowski  and Ethernet PHYs to drive some bytes of the cascade automatically.
14eda627f6SAleksander Jan Bajkowski
15eda627f6SAleksander Jan Bajkowskimaintainers:
16eda627f6SAleksander Jan Bajkowski  - John Crispin <john@phrozen.org>
17eda627f6SAleksander Jan Bajkowski
18eda627f6SAleksander Jan Bajkowskiproperties:
19eda627f6SAleksander Jan Bajkowski  $nodename:
20eda627f6SAleksander Jan Bajkowski    pattern: "^gpio@[0-9a-f]+$"
21eda627f6SAleksander Jan Bajkowski
22eda627f6SAleksander Jan Bajkowski  compatible:
23eda627f6SAleksander Jan Bajkowski    const: lantiq,gpio-stp-xway
24eda627f6SAleksander Jan Bajkowski
25eda627f6SAleksander Jan Bajkowski  reg:
26eda627f6SAleksander Jan Bajkowski    maxItems: 1
27eda627f6SAleksander Jan Bajkowski
28eda627f6SAleksander Jan Bajkowski  gpio-controller: true
29eda627f6SAleksander Jan Bajkowski
30eda627f6SAleksander Jan Bajkowski  "#gpio-cells":
31eda627f6SAleksander Jan Bajkowski    description:
32eda627f6SAleksander Jan Bajkowski      The first cell is the pin number and the second cell is used to specify
33eda627f6SAleksander Jan Bajkowski      consumer flags.
34eda627f6SAleksander Jan Bajkowski    const: 2
35eda627f6SAleksander Jan Bajkowski
36eda627f6SAleksander Jan Bajkowski  lantiq,shadow:
37eda627f6SAleksander Jan Bajkowski    description:
38eda627f6SAleksander Jan Bajkowski      The default value that we shall assume as already set on the
39eda627f6SAleksander Jan Bajkowski      shift register cascade.
40eda627f6SAleksander Jan Bajkowski    $ref: /schemas/types.yaml#/definitions/uint32
41eda627f6SAleksander Jan Bajkowski    minimum: 0x000000
42eda627f6SAleksander Jan Bajkowski    maximum: 0xffffff
43eda627f6SAleksander Jan Bajkowski
44eda627f6SAleksander Jan Bajkowski  lantiq,groups:
45eda627f6SAleksander Jan Bajkowski    description:
46eda627f6SAleksander Jan Bajkowski      Set the 3 bit mask to select which of the 3 groups are enabled
47eda627f6SAleksander Jan Bajkowski      in the shift register cascade.
48eda627f6SAleksander Jan Bajkowski    $ref: /schemas/types.yaml#/definitions/uint32
49eda627f6SAleksander Jan Bajkowski    minimum: 0x0
50eda627f6SAleksander Jan Bajkowski    maximum: 0x7
51eda627f6SAleksander Jan Bajkowski
52eda627f6SAleksander Jan Bajkowski  lantiq,dsl:
53eda627f6SAleksander Jan Bajkowski    description:
54eda627f6SAleksander Jan Bajkowski      The dsl core can control the 2 LSBs of the gpio cascade. This 2 bit
55eda627f6SAleksander Jan Bajkowski      property can enable this feature.
56eda627f6SAleksander Jan Bajkowski    $ref: /schemas/types.yaml#/definitions/uint32
57eda627f6SAleksander Jan Bajkowski    minimum: 0x0
58eda627f6SAleksander Jan Bajkowski    maximum: 0x3
59eda627f6SAleksander Jan Bajkowski
60eda627f6SAleksander Jan Bajkowski  lantiq,rising:
61eda627f6SAleksander Jan Bajkowski    description:
62eda627f6SAleksander Jan Bajkowski      Use rising instead of falling edge for the shift register.
63eda627f6SAleksander Jan Bajkowski    type: boolean
64eda627f6SAleksander Jan Bajkowski
65eda627f6SAleksander Jan BajkowskipatternProperties:
66eda627f6SAleksander Jan Bajkowski  "^lantiq,phy[1-4]$":
67eda627f6SAleksander Jan Bajkowski    description:
68eda627f6SAleksander Jan Bajkowski      The gphy core can control 3 bits of the gpio cascade. In the xRX200 family
69eda627f6SAleksander Jan Bajkowski      phy[1-2] are available, in xRX330 phy[1-3] and in XRX330 phy[1-4].
70eda627f6SAleksander Jan Bajkowski    $ref: /schemas/types.yaml#/definitions/uint32
71eda627f6SAleksander Jan Bajkowski    minimum: 0x0
72eda627f6SAleksander Jan Bajkowski    maximum: 0x7
73eda627f6SAleksander Jan Bajkowski
74eda627f6SAleksander Jan Bajkowskirequired:
75eda627f6SAleksander Jan Bajkowski  - compatible
76eda627f6SAleksander Jan Bajkowski  - reg
77eda627f6SAleksander Jan Bajkowski  - gpio-controller
78eda627f6SAleksander Jan Bajkowski  - "#gpio-cells"
79eda627f6SAleksander Jan Bajkowski
80eda627f6SAleksander Jan BajkowskiadditionalProperties: false
81eda627f6SAleksander Jan Bajkowski
82eda627f6SAleksander Jan Bajkowskiexamples:
83eda627f6SAleksander Jan Bajkowski  - |
84eda627f6SAleksander Jan Bajkowski    gpio@e100bb0 {
85eda627f6SAleksander Jan Bajkowski        compatible = "lantiq,gpio-stp-xway";
86eda627f6SAleksander Jan Bajkowski        reg = <0xE100BB0 0x40>;
87eda627f6SAleksander Jan Bajkowski        #gpio-cells = <2>;
88eda627f6SAleksander Jan Bajkowski        gpio-controller;
89eda627f6SAleksander Jan Bajkowski
90eda627f6SAleksander Jan Bajkowski        pinctrl-0 = <&stp_pins>;
91eda627f6SAleksander Jan Bajkowski        pinctrl-names = "default";
92eda627f6SAleksander Jan Bajkowski
93eda627f6SAleksander Jan Bajkowski        lantiq,shadow = <0xffffff>;
94eda627f6SAleksander Jan Bajkowski        lantiq,groups = <0x7>;
95eda627f6SAleksander Jan Bajkowski        lantiq,dsl = <0x3>;
96eda627f6SAleksander Jan Bajkowski        lantiq,phy1 = <0x7>;
97eda627f6SAleksander Jan Bajkowski        lantiq,phy2 = <0x7>;
98eda627f6SAleksander Jan Bajkowski    };
99eda627f6SAleksander Jan Bajkowski...
100