What: Raise a uevent when a USB charger is inserted or removed Date: 2020-01-14 KernelVersion: 5.6 Contact: linux-usb@vger.kernel.org Description: There are two USB charger states: USB_CHARGER_ABSENT USB_CHARGER_PRESENT There are five USB charger types: USB_CHARGER_UNKNOWN_TYPE: Charger type is unknown USB_CHARGER_SDP_TYPE: Standard Downstream Port USB_CHARGER_CDP_TYPE: Charging Downstream Port USB_CHARGER_DCP_TYPE: Dedicated Charging Port USB_CHARGER_ACA_TYPE: Accessory Charging Adapter https://www.usb.org/document-library/battery-charging-v12-spec-and-adopters-agreement Here are two examples taken using udevadm monitor -p when USB charger is online: UDEV change /devices/soc0/usbphynop1 (platform) ACTION=change DEVPATH=/devices/soc0/usbphynop1 DRIVER=usb_phy_generic MODALIAS=of:Nusbphynop1T(null)Cusb-nop-xceiv OF_COMPATIBLE_0=usb-nop-xceiv OF_COMPATIBLE_N=1 OF_FULLNAME=/usbphynop1 OF_NAME=usbphynop1 SEQNUM=2493 SUBSYSTEM=platform USB_CHARGER_STATE=USB_CHARGER_PRESENT USB_CHARGER_TYPE=USB_CHARGER_SDP_TYPE USEC_INITIALIZED=227422826 USB charger is offline: KERNEL change /devices/soc0/usbphynop1 (platform) ACTION=change DEVPATH=/devices/soc0/usbphynop1 DRIVER=usb_phy_generic MODALIAS=of:Nusbphynop1T(null)Cusb-nop-xceiv OF_COMPATIBLE_0=usb-nop-xceiv OF_COMPATIBLE_N=1 OF_FULLNAME=/usbphynop1 OF_NAME=usbphynop1 SEQNUM=2494 SUBSYSTEM=platform USB_CHARGER_STATE=USB_CHARGER_ABSENT USB_CHARGER_TYPE=USB_CHARGER_UNKNOWN_TYPE