| 161 | === Venice dual-role capabilities |
| 162 | The IMX8M SoC used on the Venice product families has two dual-role capable USB host controllers (USB1 and USB2) supporting USB2.0 for IMX8MM and USB3.0 for IMX8MP. Capabilities differ per board: |
| 163 | |
| 164 | * GW8201B-S01C-* IMX8MP SoC: |
| 165 | - USB1 host controller: |
| 166 | * USB2.0 to J28 Type-C on power-up (for SDP support) steered to FSA#1 by USB1_MUX GPIO driven high |
| 167 | * USB3.0 and USB2.0 to J29 FSA1 |
| 168 | - USB2 host controller: USB 4-port HUB: |
| 169 | * P1: USB3.0 to J28 Type-C via TPS2582x USB Power Switch and Config Controller ([#tps2582x see below regarding dual-role capability]) |
| 170 | * P2: USB2.0 and USB3.0 to J30 FSA2 |
| 171 | * P3: unused |
| 172 | * P4: unused |
| 173 | |
| 174 | * GW750x-0x IMX8MM SoC: |
| 175 | - USB1 host controller: USB3.0 to J14 Type-C STUSB5400 |
| 176 | - USB2 host controller: USB 4-port HUB: |
| 177 | * P1: USB2.0 to J1 TypeC via TPS2582x USB Power Switch and Config Controller ([#tps2582x see below regarding dual-role capability]) |
| 178 | * P2: unused |
| 179 | * P3: USB2.0 to MiniPCIe socket J5 |
| 180 | * P4: USB2.0 to MiniPCIe socket J12 |
| 181 | |
| 182 | * GW750x-2x IMX8MP SoC: |
| 183 | - USB1 host controller: USB2.0 to J14 Type-C STUSB5400 |
| 184 | - USB2 host controller: USB 4-port HUB: |
| 185 | * P1: USB3.0 to J1 TypeC via TPS2582x USB Power Switch and Config Controller ([#tps2582x see below regarding dual-role capability]) |
| 186 | * P2: unused |
| 187 | * P3: USB2.0 and USB3.0 to MiniPCIe socket J5 (USB3.0 signals muxed with PCI via PCIUSB_SEL GPIO) |
| 188 | * P4: USB2.0 to MiniPCIe socket J12 |
| 189 | |
| 190 | * GW740x IMX8MP SoC: |
| 191 | - USB1 host controller: USB3.0 to J3 Type-C via TPS2582x USB Power Switch and Config Controller ([#tps2582x see below regarding dual-role capability]) |
| 192 | - USB2 host controller: USB 4-port HUB: |
| 193 | * P1: USB2.0 and USB3.0 to M.2 B-Key J13 |
| 194 | * P2: USB2.0 to MiniPCIe socket J12 (resistor load build option for USB3.0 on PCI signals) |
| 195 | * P3: USB2.0 to MiniPCIe socket J11 (resistor load build option for USB3.0 on PCI signals) |
| 196 | * P4: USB2.0 to MiniPCIe socket J10 (resistor load build option for USB3.0 on PCI signals) |
| 197 | |
| 198 | * GW730x-0x IMX8MM SoC: |
| 199 | - USB1 host controller: Micro-B J24 (USB OTG) with GPIO controlled VBUS (USB1_EN) with overcurrent protection (USB1_FTL#) |
| 200 | - USB2 host controller: USB 4-port HUB: |
| 201 | * P1: USB2.0 to Type-A socket J22 with ~1.0A VBUS provided by a MAX1558H with overcurrent protection |
| 202 | * P2: USB2.0 to MiniPCIe socket J10 |
| 203 | * P3: USB2.0 to MiniPCIe socket J14 |
| 204 | * P4: USB2.0 to MiniPCIe socket J12 |
| 205 | |
| 206 | * GW730x-2x IMX8MP SoC: |
| 207 | - USB1 host controller: Micro-B J24 (USB OTG) with GPIO controlled VBUS (USB1_EN) with overcurrent protection (USB1_FTL#) |
| 208 | - USB2 host controller: USB 4-port HUB: |
| 209 | * P1: USB3.0 to Type-A socket J22 with ~1.0A VBUS provided by a MAX1558H with overcurrent protection |
| 210 | * P2: USB2.0 (and USB3.0 in place of PCI selected by PCIE_USBSEL; high for USB3.0 and low (default) for PCI) to MiniPCIe socket J10 |
| 211 | * P3: USB2.0 to MiniPCIe socket J14 |
| 212 | * P4: USB2.0 to MiniPCIe socket J12 |
| 213 | |
| 214 | * GW720x-0x IMX8MM SoC: |
| 215 | - USB1 host controller: USB2.0 to J19 Micro-B (USB OTG) with GPIO controlled VBUS (USB1PWR_EN) with ~1.0A VBUS provided by a MAX1558H with overcurrent protection |
| 216 | - USB2 host controller: USB 4-port HUB: |
| 217 | * P1: USB2.0 to J28 2x4x2mm header with ~1.0A VBUS |
| 218 | * P2: USB2.0 to miniPCIe J10 |
| 219 | * P3: USB2.0 to miniPCIe J5 |
| 220 | |
| 221 | * GW720x-2x IMX8MP SoC: |
| 222 | - USB1 host controller: USB2.0 to J19 Micro-B (USB OTG) with GPIO controlled VBUS (USB1PWR_EN) with ~1.0A VBUS provided by a MAX1558H with overcurrent protection |
| 223 | - USB2 host controller: USB 4-port HUB: |
| 224 | * P1: USB3.0 to J28 2x4x2mm header with ~1.0A VBUS |
| 225 | * P2: USB2.0 (and USB3.0 instead of PCI if PCIE_USBSEL is driven high) to miniPCIe J10 |
| 226 | * P3: USB2.0 to miniPCIe J5 |
| 227 | |
| 228 | * GW710x-0x IMX8MM SoC: |
| 229 | - USB1 host controller: USB2.0 to J2 Type-C via TPS2582x USB Power Switch and Config Controller ([#tps2582x see below regarding dual-role capability]) |
| 230 | - USB2 host controller: USB2.0 to MiniPCIe J6 |
| 231 | |
| 232 | * GW710x-2x IMX8MP SoC: |
| 233 | - USB1 host controller: USB2.0 to J2 Type-C via TPS2582x USB Power Switch and Config Controller ([#tps2582x see below regarding dual-role capability]) |
| 234 | - USB2 host controller: USB2.0 (and USB3.0 instead of PCI if PCIE_USBSEL is driven high) to MiniPCIe J6 |
| 235 | |
| 236 | |
| 237 | === TPS2582x CC controller |
| 238 | [=#tps2582x] |
| 239 | The TPS25821 CC controller used on the above Venice Type-C connectors presents the port as a Downstream Facing port (host/power). However the following options exist for using this as a Upstream Facing port (device): |
| 240 | - a Type-C connected device a Type-C to Type-A plug (device) cable can be used for device-mode to a Type-A host device (Note that a Type-C to Type-A socket (host) cable can still be used for host) |
| 241 | - a build option exists to remove the Type-C CC Controller and load 5.11kohm Rp resistors on the CC lines such that the board will behave as an Upstream Facing Port (UFP) sink/device to a connected Type-C device |
| 242 | - some devices may allow forcing their Type-C connector host to host mode via software |
| 243 | |
| 244 | |
| 245 | == USB Type-C |
| 246 | USB-C or USB Type-C is a 24pin reversible connector that supersedes previous USB connectors which has become a very popular connector in modern devices. Because the connector can carry multiple types of data as well as provide and sink power, it is worth detailing the capabilities of the various Type-C connectors offered on Gateworks Single Board Computers. |
| 247 | |
| 248 | Several Gateworks boards have USB Type-C connectors on them: |
| 249 | || Board || Connector || Supported || CC Controller || VBUS || Notes || |
| 250 | || GW82xx || J28 || USB2.0 / USB3.0 || TPS25821 UFP || 5V@1.5A || ^^^1,2^^^ || |
| 251 | || GW75xx || J14 || USB2.0 / USB3.0 || TPS25821 UFP || 5V@1.5A || ^^^1,2^^^ || |
| 252 | || || J1 || USB2.0 / USB3.0 || TPS25821 DFP || || ^^^1,2^^^ || |
| 253 | || GW74xx || J3 || USB2.0 / USB3.0 || TPS25821 DFP || 5V@1.5A || ^^^1,2^^^ || |
| 254 | || GW71xx || J2 || USB2.0 || TPS25821 DFP || 5V@1.5A || ^^^1,2^^^ || |
| 255 | 1. While the CC controller presents the port as a Downstream Facing host/power port to a Type-C connected device a Type-C to Type-A plug (device) cable can be used for device-mode to a Type-A host device or a Type-C to Type-A receptical (host) cable can be used for dual-role support ([#tps2582x see here regarding dual-role capability]) |
| 256 | 2. A build option exists to remove the Type-C CC Controller and load 5.11kohm Rp resistors on the CC lines such that the board will behave as an Upstream Facing Port (UFP) sink/device to a connected Type-C device |