← Documents Documentation/ABI/testing/usb-charger-uevent GitHub 원문 ↗

Linux 6.18.37 · ABI / testing

USB charger uevent ABI

USB charger 연결·해제 때 발생하는 uevent의 PRESENT/ABSENT 상태와 SDP, CDP, DCP, ACA charger type 환경 변수를 정의합니다.

Source pathDocumentation/ABI/testing/usb-charger-uevent
Source versionLinux v6.18.37
TranslationDUJINLABS 전문 번역 + 해설

요약·해설과 원문, 전문 번역을 서로 분리했습니다. API 이름, symbol, source path는 원문 표기를 사용합니다.

1. 요약·해설

원문의 핵심 논리와 kernel programming 관점의 보충 설명입니다. 아래의 전문 번역과는 별도로 작성했습니다.

Charger state와 type

usb-charger-uevent:1-19

연결 상태 두 가지와 Battery Charging 규격의 downstream port·adapter type 다섯 가지를 정의합니다.

Online·offline uevent

usb-charger-uevent:20-54

change event에서 USB_CHARGER_STATE와 USB_CHARGER_TYPE이 연결 여부와 감지된 charger type을 함께 전달합니다.

2. 영어 원문 전체

번역 기준이 된 Linux v6.18.37 원문입니다. 줄 번호는 이 버전의 파일 좌표입니다.

원문 전체 펼치기
1 What: Raise a uevent when a USB charger is inserted or removed
2 Date: 2020-01-14
3 KernelVersion: 5.6
4 Contact: linux-usb@vger.kernel.org
5 Description: 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

3. 한국어 전문 번역

영어 원문의 문단 순서와 의미를 유지한 전체 번역입니다. 코드, 함수명, symbol과 URL은 원문 표기를 유지합니다.

USB charger uevent ABI: Raise a uevent when a USB charger is inserted or removed

1-54
항목한국어 전문 번역
WhatRaise a uevent when a USB charger is inserted or removed
Date2020년 1월 14일
KernelVersion5.6
Contactlinux-usb@vger.kernel.org
DescriptionUSB charger state는 `USB_CHARGER_ABSENT`와 `USB_CHARGER_PRESENT` 두 가지입니다. Charger type은 알 수 없는 type인 `USB_CHARGER_UNKNOWN_TYPE`, Standard Downstream Port인 `USB_CHARGER_SDP_TYPE`, Charging Downstream Port인 `USB_CHARGER_CDP_TYPE`, Dedicated Charging Port인 `USB_CHARGER_DCP_TYPE`, Accessory Charging Adapter인 `USB_CHARGER_ACA_TYPE` 다섯 가지입니다. Battery Charging v1.2 specification과 adopters agreement는 `https://www.usb.org/document-library/battery-charging-v12-spec-and-adopters-agreement`에서 확인할 수 있습니다. `udevadm monitor -p`로 얻은 online 예에서는 platform device에 `ACTION=change`가 발생하고 `USB_CHARGER_STATE=USB_CHARGER_PRESENT`, `USB_CHARGER_TYPE=USB_CHARGER_SDP_TYPE`이 포함됩니다. Offline 예에서도 `ACTION=change`가 발생하지만 `USB_CHARGER_STATE=USB_CHARGER_ABSENT`, `USB_CHARGER_TYPE=USB_CHARGER_UNKNOWN_TYPE`이 포함됩니다. 두 예는 각각 `DEVPATH`, `DRIVER`, `MODALIAS`, Open Firmware 관련 변수, `SEQNUM`, `SUBSYSTEM`을 함께 전달하며 online 예에는 `USEC_INITIALIZED=227422826`도 나타납니다.
USB charger states
ValueMeaning
USB_CHARGER_ABSENTUSB charger is removed or offline
USB_CHARGER_PRESENTUSB charger is inserted or online

연결 여부를 나타내는 두 environment values입니다.

USB charger types
ValueMeaning
USB_CHARGER_UNKNOWN_TYPECharger type is unknown
USB_CHARGER_SDP_TYPEStandard Downstream Port
USB_CHARGER_CDP_TYPECharging Downstream Port
USB_CHARGER_DCP_TYPEDedicated Charging Port
USB_CHARGER_ACA_TYPEAccessory Charging Adapter

Battery Charging interface가 보고하는 다섯 charger categories입니다.

Online과 offline event 비교
ConditionUSB_CHARGER_STATEUSB_CHARGER_TYPE
OnlineUSB_CHARGER_PRESENTUSB_CHARGER_SDP_TYPE
OfflineUSB_CHARGER_ABSENTUSB_CHARGER_UNKNOWN_TYPE

두 예 모두 change event이며 state와 type 값이 달라집니다.

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

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