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