Lines Matching +full:usb +full:- +full:a +full:- +full:connector
1 .. SPDX-License-Identifier: GPL-2.0
4 Intel North Mux-Agent
10 North Mux-Agent is a function of the Intel PMC firmware that is supported on
12 configuring the various USB Multiplexer/DeMultiplexers on the system. The
13 platforms that allow the mux-agent to be configured from the operating system
16 The North Mux-Agent (aka. Intel PMC Mux Control, or just mux-agent) driver
18 (drivers/platform/x86/intel_scu_ipc.c). The driver registers with the USB Type-C
19 Mux Class which allows the USB Type-C Controller and Interface drivers to
21 also registers with the USB Role Class in order to support both USB Host and
22 Device modes. The driver is located here: drivers/usb/typec/mux/intel_pmc_mux.c.
28 -------
30 For every USB Type-C connector under the mux-agent control on the system, there
31 is a separate child node under the PMC mux-agent device node. Those nodes do not
32 represent the actual connectors, but instead the "channels" in the mux-agent
49 ----------------------------------
52 is supplied, it should match the connector node _PLD::
67 Mux-agent specific _DSD Device Properties
68 -----------------------------------------
73 In order to configure the muxes behind a USB Type-C connector, the PMC firmware
75 connector. The driver extracts the correct port numbers by reading specific _DSD
76 device properties named "usb2-port-number" and "usb3-port-number". These
79 these device properties as-is when sending the mux-agent specific messages to
83 ToUUID("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),
85 Package () {"usb2-port-number", 6},
86 Package () {"usb3-port-number", 3},
93 Depending on the platform, the data and SBU lines coming from the connector may
94 be "fixed" from the mux-agent's point of view, which means the mux-agent driver
96 happen for example if a retimer on the platform handles the cable plug
97 orientation. The driver uses a specific device properties "sbu-orientation"
98 (SBU) and "hsl-orientation" (data) to know if those lines are "fixed", and to
99 which orientation. The value that these properties have is a string value, and
100 it can be one that is defined for the USB Type-C connector orientation: "normal"
104 ToUUID("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),
106 Package () {"sbu-orientation", "normal"},
107 Package () {"hsl-orientation", "normal"},
114 The following ASL is an example that shows the mux-agent node, and two
128 ToUUID("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),
130 Package () {"usb2-port-number", 6},
131 Package () {"usb3-port-number", 3},
132 Package () {"sbu-orientation", "normal"},
133 Package () {"hsl-orientation", "normal"},
143 ToUUID("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),
145 Package () {"usb2-port-number", 5},
146 Package () {"usb3-port-number", 2},
147 Package () {"sbu-orientation", "normal"},
148 Package () {"hsl-orientation", "normal"},