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