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