xref: /linux/Documentation/firmware-guide/acpi/extcon-intel-int3496.rst (revision 0898782247ae533d1f4e47a06bc5d4870931b284)
1=====================================================
2Intel INT3496 ACPI device extcon driver documentation
3=====================================================
4
5The Intel INT3496 ACPI device extcon driver is a driver for ACPI
6devices with an acpi-id of INT3496, such as found for example on
7Intel Baytrail and Cherrytrail tablets.
8
9This ACPI device describes how the OS can read the id-pin of the devices'
10USB-otg port, as well as how it optionally can enable Vbus output on the
11otg port and how it can optionally control the muxing of the data pins
12between an USB host and an USB peripheral controller.
13
14The ACPI devices exposes this functionality by returning an array with up
15to 3 gpio descriptors from its ACPI _CRS (Current Resource Settings) call:
16
17=======  =====================================================================
18Index 0  The input gpio for the id-pin, this is always present and valid
19Index 1  The output gpio for enabling Vbus output from the device to the otg
20         port, write 1 to enable the Vbus output (this gpio descriptor may
21         be absent or invalid)
22Index 2  The output gpio for muxing of the data pins between the USB host and
23         the USB peripheral controller, write 1 to mux to the peripheral
24         controller
25=======  =====================================================================
26
27There is a mapping between indices and GPIO connection IDs as follows
28
29	======= =======
30	id	index 0
31	vbus	index 1
32	mux	index 2
33	======= =======
34