162306a36Sopenharmony_ci# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 262306a36Sopenharmony_ci%YAML 1.2 362306a36Sopenharmony_ci--- 462306a36Sopenharmony_ci$id: http://devicetree.org/schemas/gpio/gpio-stp-xway.yaml# 562306a36Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml# 662306a36Sopenharmony_ci 762306a36Sopenharmony_cititle: Lantiq SoC Serial To Parallel (STP) GPIO controller 862306a36Sopenharmony_ci 962306a36Sopenharmony_cidescription: | 1062306a36Sopenharmony_ci The Serial To Parallel (STP) is found on MIPS based Lantiq socs. It is a 1162306a36Sopenharmony_ci peripheral controller used to drive external shift register cascades. At most 1262306a36Sopenharmony_ci 3 groups of 8 bits can be driven. The hardware is able to allow the DSL modem 1362306a36Sopenharmony_ci and Ethernet PHYs to drive some bytes of the cascade automatically. 1462306a36Sopenharmony_ci 1562306a36Sopenharmony_cimaintainers: 1662306a36Sopenharmony_ci - John Crispin <john@phrozen.org> 1762306a36Sopenharmony_ci 1862306a36Sopenharmony_ciproperties: 1962306a36Sopenharmony_ci $nodename: 2062306a36Sopenharmony_ci pattern: "^gpio@[0-9a-f]+$" 2162306a36Sopenharmony_ci 2262306a36Sopenharmony_ci compatible: 2362306a36Sopenharmony_ci const: lantiq,gpio-stp-xway 2462306a36Sopenharmony_ci 2562306a36Sopenharmony_ci reg: 2662306a36Sopenharmony_ci maxItems: 1 2762306a36Sopenharmony_ci 2862306a36Sopenharmony_ci gpio-controller: true 2962306a36Sopenharmony_ci 3062306a36Sopenharmony_ci "#gpio-cells": 3162306a36Sopenharmony_ci description: 3262306a36Sopenharmony_ci The first cell is the pin number and the second cell is used to specify 3362306a36Sopenharmony_ci consumer flags. 3462306a36Sopenharmony_ci const: 2 3562306a36Sopenharmony_ci 3662306a36Sopenharmony_ci lantiq,shadow: 3762306a36Sopenharmony_ci description: 3862306a36Sopenharmony_ci The default value that we shall assume as already set on the 3962306a36Sopenharmony_ci shift register cascade. 4062306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32 4162306a36Sopenharmony_ci minimum: 0x000000 4262306a36Sopenharmony_ci maximum: 0xffffff 4362306a36Sopenharmony_ci 4462306a36Sopenharmony_ci lantiq,groups: 4562306a36Sopenharmony_ci description: 4662306a36Sopenharmony_ci Set the 3 bit mask to select which of the 3 groups are enabled 4762306a36Sopenharmony_ci in the shift register cascade. 4862306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32 4962306a36Sopenharmony_ci minimum: 0x0 5062306a36Sopenharmony_ci maximum: 0x7 5162306a36Sopenharmony_ci 5262306a36Sopenharmony_ci lantiq,dsl: 5362306a36Sopenharmony_ci description: 5462306a36Sopenharmony_ci The dsl core can control the 2 LSBs of the gpio cascade. This 2 bit 5562306a36Sopenharmony_ci property can enable this feature. 5662306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32 5762306a36Sopenharmony_ci minimum: 0x0 5862306a36Sopenharmony_ci maximum: 0x3 5962306a36Sopenharmony_ci 6062306a36Sopenharmony_ci lantiq,rising: 6162306a36Sopenharmony_ci description: 6262306a36Sopenharmony_ci Use rising instead of falling edge for the shift register. 6362306a36Sopenharmony_ci type: boolean 6462306a36Sopenharmony_ci 6562306a36Sopenharmony_cipatternProperties: 6662306a36Sopenharmony_ci "^lantiq,phy[1-4]$": 6762306a36Sopenharmony_ci description: 6862306a36Sopenharmony_ci The gphy core can control 3 bits of the gpio cascade. In the xRX200 family 6962306a36Sopenharmony_ci phy[1-2] are available, in xRX330 phy[1-3] and in XRX330 phy[1-4]. 7062306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32 7162306a36Sopenharmony_ci minimum: 0x0 7262306a36Sopenharmony_ci maximum: 0x7 7362306a36Sopenharmony_ci 7462306a36Sopenharmony_cirequired: 7562306a36Sopenharmony_ci - compatible 7662306a36Sopenharmony_ci - reg 7762306a36Sopenharmony_ci - gpio-controller 7862306a36Sopenharmony_ci - "#gpio-cells" 7962306a36Sopenharmony_ci 8062306a36Sopenharmony_ciadditionalProperties: false 8162306a36Sopenharmony_ci 8262306a36Sopenharmony_ciexamples: 8362306a36Sopenharmony_ci - | 8462306a36Sopenharmony_ci gpio@e100bb0 { 8562306a36Sopenharmony_ci compatible = "lantiq,gpio-stp-xway"; 8662306a36Sopenharmony_ci reg = <0xE100BB0 0x40>; 8762306a36Sopenharmony_ci #gpio-cells = <2>; 8862306a36Sopenharmony_ci gpio-controller; 8962306a36Sopenharmony_ci 9062306a36Sopenharmony_ci pinctrl-0 = <&stp_pins>; 9162306a36Sopenharmony_ci pinctrl-names = "default"; 9262306a36Sopenharmony_ci 9362306a36Sopenharmony_ci lantiq,shadow = <0xffffff>; 9462306a36Sopenharmony_ci lantiq,groups = <0x7>; 9562306a36Sopenharmony_ci lantiq,dsl = <0x3>; 9662306a36Sopenharmony_ci lantiq,phy1 = <0x7>; 9762306a36Sopenharmony_ci lantiq,phy2 = <0x7>; 9862306a36Sopenharmony_ci }; 9962306a36Sopenharmony_ci... 100