162306a36Sopenharmony_ciWhat:		Raise a uevent when a USB charger is inserted or removed
262306a36Sopenharmony_ciDate:		2020-01-14
362306a36Sopenharmony_ciKernelVersion:	5.6
462306a36Sopenharmony_ciContact:	linux-usb@vger.kernel.org
562306a36Sopenharmony_ciDescription:	There are two USB charger states:
662306a36Sopenharmony_ci
762306a36Sopenharmony_ci		- USB_CHARGER_ABSENT
862306a36Sopenharmony_ci		- USB_CHARGER_PRESENT
962306a36Sopenharmony_ci
1062306a36Sopenharmony_ci		There are five USB charger types:
1162306a36Sopenharmony_ci
1262306a36Sopenharmony_ci		========================  ==========================
1362306a36Sopenharmony_ci		USB_CHARGER_UNKNOWN_TYPE  Charger type is unknown
1462306a36Sopenharmony_ci		USB_CHARGER_SDP_TYPE      Standard Downstream Port
1562306a36Sopenharmony_ci		USB_CHARGER_CDP_TYPE      Charging Downstream Port
1662306a36Sopenharmony_ci		USB_CHARGER_DCP_TYPE      Dedicated Charging Port
1762306a36Sopenharmony_ci		USB_CHARGER_ACA_TYPE      Accessory Charging Adapter
1862306a36Sopenharmony_ci		========================  ==========================
1962306a36Sopenharmony_ci
2062306a36Sopenharmony_ci		https://www.usb.org/document-library/battery-charging-v12-spec-and-adopters-agreement
2162306a36Sopenharmony_ci
2262306a36Sopenharmony_ci		Here are two examples taken using ``udevadm monitor -p`` when
2362306a36Sopenharmony_ci		USB charger is online::
2462306a36Sopenharmony_ci
2562306a36Sopenharmony_ci		    UDEV  change   /devices/soc0/usbphynop1 (platform)
2662306a36Sopenharmony_ci		    ACTION=change
2762306a36Sopenharmony_ci		    DEVPATH=/devices/soc0/usbphynop1
2862306a36Sopenharmony_ci		    DRIVER=usb_phy_generic
2962306a36Sopenharmony_ci		    MODALIAS=of:Nusbphynop1T(null)Cusb-nop-xceiv
3062306a36Sopenharmony_ci		    OF_COMPATIBLE_0=usb-nop-xceiv
3162306a36Sopenharmony_ci		    OF_COMPATIBLE_N=1
3262306a36Sopenharmony_ci		    OF_FULLNAME=/usbphynop1
3362306a36Sopenharmony_ci		    OF_NAME=usbphynop1
3462306a36Sopenharmony_ci		    SEQNUM=2493
3562306a36Sopenharmony_ci		    SUBSYSTEM=platform
3662306a36Sopenharmony_ci		    USB_CHARGER_STATE=USB_CHARGER_PRESENT
3762306a36Sopenharmony_ci		    USB_CHARGER_TYPE=USB_CHARGER_SDP_TYPE
3862306a36Sopenharmony_ci		    USEC_INITIALIZED=227422826
3962306a36Sopenharmony_ci
4062306a36Sopenharmony_ci		USB charger is offline::
4162306a36Sopenharmony_ci
4262306a36Sopenharmony_ci		    KERNEL change   /devices/soc0/usbphynop1 (platform)
4362306a36Sopenharmony_ci		    ACTION=change
4462306a36Sopenharmony_ci		    DEVPATH=/devices/soc0/usbphynop1
4562306a36Sopenharmony_ci		    DRIVER=usb_phy_generic
4662306a36Sopenharmony_ci		    MODALIAS=of:Nusbphynop1T(null)Cusb-nop-xceiv
4762306a36Sopenharmony_ci		    OF_COMPATIBLE_0=usb-nop-xceiv
4862306a36Sopenharmony_ci		    OF_COMPATIBLE_N=1
4962306a36Sopenharmony_ci		    OF_FULLNAME=/usbphynop1
5062306a36Sopenharmony_ci		    OF_NAME=usbphynop1
5162306a36Sopenharmony_ci		    SEQNUM=2494
5262306a36Sopenharmony_ci		    SUBSYSTEM=platform
5362306a36Sopenharmony_ci		    USB_CHARGER_STATE=USB_CHARGER_ABSENT
5462306a36Sopenharmony_ci		    USB_CHARGER_TYPE=USB_CHARGER_UNKNOWN_TYPE
55