^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1) What: Raise a uevent when a USB charger is inserted or removed
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2) Date: 2020-01-14
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3) KernelVersion: 5.6
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4) Contact: linux-usb@vger.kernel.org
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 5) Description: There are two USB charger states:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 6)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 7) - USB_CHARGER_ABSENT
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 8) - USB_CHARGER_PRESENT
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 9)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10) There are five USB charger types:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12) ======================== ==========================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13) USB_CHARGER_UNKNOWN_TYPE Charger type is unknown
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) USB_CHARGER_SDP_TYPE Standard Downstream Port
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15) USB_CHARGER_CDP_TYPE Charging Downstream Port
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) USB_CHARGER_DCP_TYPE Dedicated Charging Port
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) USB_CHARGER_ACA_TYPE Accessory Charging Adapter
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18) ======================== ==========================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) https://www.usb.org/document-library/battery-charging-v12-spec-and-adopters-agreement
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22) Here are two examples taken using ``udevadm monitor -p`` when
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) USB charger is online::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25) UDEV change /devices/soc0/usbphynop1 (platform)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26) ACTION=change
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27) DEVPATH=/devices/soc0/usbphynop1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28) DRIVER=usb_phy_generic
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29) MODALIAS=of:Nusbphynop1T(null)Cusb-nop-xceiv
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30) OF_COMPATIBLE_0=usb-nop-xceiv
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31) OF_COMPATIBLE_N=1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32) OF_FULLNAME=/usbphynop1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33) OF_NAME=usbphynop1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34) SEQNUM=2493
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 35) SUBSYSTEM=platform
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 36) USB_CHARGER_STATE=USB_CHARGER_PRESENT
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 37) USB_CHARGER_TYPE=USB_CHARGER_SDP_TYPE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 38) USEC_INITIALIZED=227422826
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 39)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 40) USB charger is offline::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 41)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 42) KERNEL change /devices/soc0/usbphynop1 (platform)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 43) ACTION=change
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 44) DEVPATH=/devices/soc0/usbphynop1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 45) DRIVER=usb_phy_generic
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 46) MODALIAS=of:Nusbphynop1T(null)Cusb-nop-xceiv
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 47) OF_COMPATIBLE_0=usb-nop-xceiv
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 48) OF_COMPATIBLE_N=1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 49) OF_FULLNAME=/usbphynop1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 50) OF_NAME=usbphynop1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 51) SEQNUM=2494
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 52) SUBSYSTEM=platform
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 53) USB_CHARGER_STATE=USB_CHARGER_ABSENT
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 54) USB_CHARGER_TYPE=USB_CHARGER_UNKNOWN_TYPE