xref: /linux/Documentation/devicetree/bindings/pinctrl/aspeed,ast2700-soc0-pinctrl.yaml (revision 53c7db5c1916afcecc8683ae01ff8415c708a883)
1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/pinctrl/aspeed,ast2700-soc0-pinctrl.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: ASPEED AST2700 SoC0 Pin Controller
8
9maintainers:
10  - Billy Tsai <billy_tsai@aspeedtech.com>
11
12description: >
13  The AST2700 features a dual-SoC architecture with two interconnected SoCs,
14  each having its own System Control Unit (SCU) for independent pin control.
15  This pin controller manages the pin multiplexing for SoC0.
16
17  The SoC0 pin controller manages pin functions including eMMC, VGA DDC,
18  dual USB3/USB2 ports (A and B), JTAG, and PCIe root complex interfaces.
19
20properties:
21  compatible:
22    const: aspeed,ast2700-soc0-pinctrl
23
24  reg:
25    maxItems: 1
26
27patternProperties:
28  '-state$':
29    description: |
30      Pin control state.
31
32      If 'function' is present, the node describes a pinmux state and must
33      specify 'groups'.
34
35      For pin configuration, exactly one of 'groups' or 'pins' must be
36      specified in each state node. Group-level configuration applies to all
37      pins in the group. Pin-level configuration may be supplied in a
38      separate state node for individual pins; when both group-level and
39      pin-level configuration apply to the same pin, the pin-level
40      configuration takes precedence.
41
42    type: object
43    allOf:
44      - $ref: pinmux-node.yaml#
45      - $ref: pincfg-node.yaml#
46      - if:
47          required:
48            - function
49        then:
50          required:
51            - groups
52      - oneOf:
53          - required:
54              - groups
55          - required:
56              - pins
57
58    additionalProperties: false
59
60    properties:
61      function:
62        enum:
63          - EMMC
64          - JTAGDDR
65          - JTAGM0
66          - JTAGPCIEA
67          - JTAGPCIEB
68          - JTAGPSP
69          - JTAGSSP
70          - JTAGTSP
71          - JTAGUSB3A
72          - JTAGUSB3B
73          - PCIERC0PERST
74          - PCIERC1PERST
75          - TSPRSTN
76          - UFSCLKI
77          - USB2AD0
78          - USB2AD1
79          - USB2AH
80          - USB2AHP
81          - USB2AHPD0
82          - USB2AXH
83          - USB2AXH2B
84          - USB2AXHD1
85          - USB2AXHP
86          - USB2AXHP2B
87          - USB2AXHPD1
88          - USB2BD0
89          - USB2BD1
90          - USB2BH
91          - USB2BHP
92          - USB2BHPD0
93          - USB2BXH
94          - USB2BXH2A
95          - USB2BXHD1
96          - USB2BXHP
97          - USB2BXHP2A
98          - USB2BXHPD1
99          - USB3AXH
100          - USB3AXH2B
101          - USB3AXHD
102          - USB3AXHP
103          - USB3AXHP2B
104          - USB3AXHPD
105          - USB3BXH
106          - USB3BXH2A
107          - USB3BXHD
108          - USB3BXHP
109          - USB3BXHP2A
110          - USB3BXHPD
111          - VB
112          - VGADDC
113
114      groups:
115        enum:
116          - EMMCCDN
117          - EMMCG1
118          - EMMCG4
119          - EMMCG8
120          - EMMCWPN
121          - JTAG0
122          - PCIERC0PERST
123          - PCIERC1PERST
124          - TSPRSTN
125          - UFSCLKI
126          - USB2A
127          - USB2AAP
128          - USB2ABP
129          - USB2ADAP
130          - USB2AH
131          - USB2AHAP
132          - USB2B
133          - USB2BAP
134          - USB2BBP
135          - USB2BDBP
136          - USB2BH
137          - USB2BHBP
138          - USB3A
139          - USB3AAP
140          - USB3ABP
141          - USB3B
142          - USB3BAP
143          - USB3BBP
144          - VB0
145          - VB1
146          - VGADDC
147
148      pins:
149        enum:
150          - AB13
151          - AB14
152          - AC13
153          - AC14
154          - AD13
155          - AD14
156          - AE13
157          - AE14
158          - AE15
159          - AF13
160          - AF14
161          - AF15
162
163      drive-strength:
164        enum: [3, 6, 8, 11, 16, 18, 20, 23, 30, 32, 33, 35, 37, 38, 39, 41]
165
166      bias-disable: true
167      bias-pull-up: true
168      bias-pull-down: true
169
170required:
171  - compatible
172  - reg
173
174allOf:
175  - $ref: pinctrl.yaml#
176
177additionalProperties: false
178
179examples:
180  - |
181    pinctrl@400 {
182        compatible = "aspeed,ast2700-soc0-pinctrl";
183        reg = <0x400 0x318>;
184        emmc-state {
185            function = "EMMC";
186            groups = "EMMCG1";
187        };
188    };
189