1# SPDX-License-Identifier: GPL-2.0-or-later
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/pinctrl/aspeed,ast2400-pinctrl.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: ASPEED AST2400 Pin Controller
8
9maintainers:
10  - Andrew Jeffery <andrew@aj.id.au>
11
12description: |+
13  The pin controller node should be the child of a syscon node with the
14  required property:
15
16  - compatible:     Should be one of the following:
17                    "aspeed,ast2400-scu", "syscon", "simple-mfd"
18                    "aspeed,g4-scu", "syscon", "simple-mfd"
19
20  Refer to the the bindings described in
21  Documentation/devicetree/bindings/mfd/syscon.txt
22
23properties:
24  compatible:
25    enum:
26      - aspeed,ast2400-pinctrl
27      - aspeed,g4-pinctrl
28
29patternProperties:
30  '^.*$':
31    if:
32      type: object
33    then:
34      patternProperties:
35        "^function|groups$":
36          allOf:
37            - $ref: "/schemas/types.yaml#/definitions/string"
38            - enum: [ "ACPI", "ADC0", "ADC1", "ADC10", "ADC11", "ADC12", "ADC13",
39              "ADC14", "ADC15", "ADC2", "ADC3", "ADC4", "ADC5", "ADC6", "ADC7",
40              "ADC8", "ADC9", "BMCINT", "DDCCLK", "DDCDAT", "EXTRST", "FLACK",
41              "FLBUSY", "FLWP", "GPID", "GPID0", "GPID2", "GPID4", "GPID6",
42              "GPIE0", "GPIE2", "GPIE4", "GPIE6", "I2C10", "I2C11", "I2C12",
43              "I2C13", "I2C14", "I2C3", "I2C4", "I2C5", "I2C6", "I2C7", "I2C8",
44              "I2C9", "LPCPD", "LPCPME", "LPCRST", "LPCSMI", "MAC1LINK",
45              "MAC2LINK", "MDIO1", "MDIO2", "NCTS1", "NCTS2", "NCTS3", "NCTS4",
46              "NDCD1", "NDCD2", "NDCD3", "NDCD4", "NDSR1", "NDSR2", "NDSR3",
47              "NDSR4", "NDTR1", "NDTR2", "NDTR3", "NDTR4", "NDTS4", "NRI1",
48              "NRI2", "NRI3", "NRI4", "NRTS1", "NRTS2", "NRTS3", "OSCCLK",
49              "PWM0", "PWM1", "PWM2", "PWM3", "PWM4", "PWM5", "PWM6", "PWM7",
50              "RGMII1", "RGMII2", "RMII1", "RMII2", "ROM16", "ROM8", "ROMCS1",
51              "ROMCS2", "ROMCS3", "ROMCS4", "RXD1", "RXD2", "RXD3", "RXD4",
52              "SALT1", "SALT2", "SALT3", "SALT4", "SD1", "SD2", "SGPMCK",
53              "SGPMI", "SGPMLD", "SGPMO", "SGPSCK", "SGPSI0", "SGPSI1", "SGPSLD",
54              "SIOONCTRL", "SIOPBI", "SIOPBO", "SIOPWREQ", "SIOPWRGD", "SIOS3",
55              "SIOS5", "SIOSCI", "SPI1", "SPI1DEBUG", "SPI1PASSTHRU", "SPICS1",
56              "TIMER3", "TIMER4", "TIMER5", "TIMER6", "TIMER7", "TIMER8", "TXD1",
57              "TXD2", "TXD3", "TXD4", "UART6", "USB11D1", "USB11H2", "USB2D1",
58              "USB2H1", "USBCKI", "VGABIOS_ROM", "VGAHS", "VGAVS", "VPI18",
59              "VPI24", "VPI30", "VPO12", "VPO24", "WDTRST1", "WDTRST2" ]
60
61required:
62  - compatible
63
64examples:
65  - |
66    syscon: scu@1e6e2000 {
67        compatible = "aspeed,ast2400-scu", "syscon", "simple-mfd";
68        reg = <0x1e6e2000 0x1a8>;
69
70        pinctrl: pinctrl {
71            compatible = "aspeed,g4-pinctrl";
72
73            pinctrl_i2c3_default: i2c3_default {
74                function = "I2C3";
75                groups = "I2C3";
76            };
77
78            pinctrl_gpioh0_unbiased_default: gpioh0 {
79                pins = "A8";
80                bias-disable;
81            };
82        };
83    };
84