0001 What: Raise a uevent when a USB charger is inserted or removed
0002 Date: 2020-01-14
0003 KernelVersion: 5.6
0004 Contact: linux-usb@vger.kernel.org
0005 Description: There are two USB charger states:
0006
0007 - USB_CHARGER_ABSENT
0008 - USB_CHARGER_PRESENT
0009
0010 There are five USB charger types:
0011
0012 ======================== ==========================
0013 USB_CHARGER_UNKNOWN_TYPE Charger type is unknown
0014 USB_CHARGER_SDP_TYPE Standard Downstream Port
0015 USB_CHARGER_CDP_TYPE Charging Downstream Port
0016 USB_CHARGER_DCP_TYPE Dedicated Charging Port
0017 USB_CHARGER_ACA_TYPE Accessory Charging Adapter
0018 ======================== ==========================
0019
0020 https://www.usb.org/document-library/battery-charging-v12-spec-and-adopters-agreement
0021
0022 Here are two examples taken using ``udevadm monitor -p`` when
0023 USB charger is online::
0024
0025 UDEV change /devices/soc0/usbphynop1 (platform)
0026 ACTION=change
0027 DEVPATH=/devices/soc0/usbphynop1
0028 DRIVER=usb_phy_generic
0029 MODALIAS=of:Nusbphynop1T(null)Cusb-nop-xceiv
0030 OF_COMPATIBLE_0=usb-nop-xceiv
0031 OF_COMPATIBLE_N=1
0032 OF_FULLNAME=/usbphynop1
0033 OF_NAME=usbphynop1
0034 SEQNUM=2493
0035 SUBSYSTEM=platform
0036 USB_CHARGER_STATE=USB_CHARGER_PRESENT
0037 USB_CHARGER_TYPE=USB_CHARGER_SDP_TYPE
0038 USEC_INITIALIZED=227422826
0039
0040 USB charger is offline::
0041
0042 KERNEL change /devices/soc0/usbphynop1 (platform)
0043 ACTION=change
0044 DEVPATH=/devices/soc0/usbphynop1
0045 DRIVER=usb_phy_generic
0046 MODALIAS=of:Nusbphynop1T(null)Cusb-nop-xceiv
0047 OF_COMPATIBLE_0=usb-nop-xceiv
0048 OF_COMPATIBLE_N=1
0049 OF_FULLNAME=/usbphynop1
0050 OF_NAME=usbphynop1
0051 SEQNUM=2494
0052 SUBSYSTEM=platform
0053 USB_CHARGER_STATE=USB_CHARGER_ABSENT
0054 USB_CHARGER_TYPE=USB_CHARGER_UNKNOWN_TYPE