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