| 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 |