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