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