← Documents Documentation/devicetree/bindings/net/btusb.txt GitHub 원문 ↗

Linux 6.18.37 · Devicetree Bindings

Generic USB Bluetooth Controller

btusb 장치의 usbVID,PID 호환 문자열과 대역 외 wakeup IRQ binding입니다.

Source pathDocumentation/devicetree/bindings/net/btusb.txt
Source versionLinux v6.18.37
TranslationDUJINLABS 전문 번역 + 해설

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

1. 요약·해설

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

요약과 해설

btusb.txt:1-44

Suspend 중 wakeup IRQ를 켜고 resume 중 끄는 out-of-band wake-on-Bluetooth 흐름을 설명합니다.

2. 영어 원문 전체

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

원문 전체 펼치기
1 Generic Bluetooth controller over USB (btusb driver)
2 ---------------------------------------------------
3
4 Required properties:
5
6 - compatible : should comply with the format "usbVID,PID" specified in
7 Documentation/devicetree/bindings/usb/usb-device.yaml
8 At the time of writing, the only OF supported devices
9 (more may be added later) are:
10
11 "usb1286,204e" (Marvell 8997)
12 "usbcf3,e300" (Qualcomm QCA6174A)
13 "usb4ca,301a" (Qualcomm QCA6174A (Lite-On))
14
15
16 Also, vendors that use btusb may have device additional properties, e.g:
17 Documentation/devicetree/bindings/net/marvell-bt-8xxx.txt
18
19 Optional properties:
20
21 - interrupt-names: (see below)
22 - interrupts : The interrupt specified by the name "wakeup" is the interrupt
23 that shall be used for out-of-band wake-on-bt. Driver will
24 request this interrupt for wakeup. During system suspend, the
25 irq will be enabled so that the bluetooth chip can wakeup host
26 platform out of band. During system resume, the irq will be
27 disabled to make sure unnecessary interrupt is not received.
28
29 Example:
30
31 Following example uses irq pin number 3 of gpio0 for out of band wake-on-bt:
32
33 &usb_host1_ehci {
34 #address-cells = <1>;
35 #size-cells = <0>;
36
37 mvl_bt1: bt@1 {
38 compatible = "usb1286,204e";
39 reg = <1>;
40 interrupt-parent = <&gpio0>;
41 interrupt-names = "wakeup";
42 interrupts = <3 IRQ_TYPE_LEVEL_LOW>;
43 };
44 };
45

3. 한국어 전문 번역

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

USB Bluetooth 컨트롤러와 필수 속성

1-18

이 binding은 `btusb` 드라이버가 사용하는 일반 USB Bluetooth controller를 설명합니다.

필수 `compatible`은 `Documentation/devicetree/bindings/usb/usb-device.yaml`이 정의한 `usbVID,PID` 형식을 따라야 합니다. 작성 당시 OF 지원 장치는 Marvell 8997의 `usb1286,204e`, Qualcomm QCA6174A의 `usbcf3,e300`, Lite-On QCA6174A의 `usb4ca,301a`이며 이후 더 추가될 수 있습니다.

`btusb`를 쓰는 공급업체 장치는 추가 속성을 가질 수 있습니다. 예로 `Documentation/devicetree/bindings/net/marvell-bt-8xxx.txt`가 있습니다.

대역 외 wake-on-Bluetooth interrupt

19-28

선택 `interrupt-names`와 `interrupts`를 사용할 수 있습니다. 이름이 `wakeup`인 interrupt는 out-of-band wake-on-Bluetooth에 사용되며 드라이버가 wakeup 용도로 요청합니다.

시스템 suspend 중에는 Bluetooth 칩이 host platform을 대역 외로 깨울 수 있도록 IRQ를 enable합니다. resume 중에는 불필요한 interrupt 수신을 막도록 IRQ를 disable합니다.

btusb 대역 외 깨우기
System suspendEnable wakeup IRQ
Bluetooth out-of-band signalWake host platform
System resumeDisable wakeup IRQ

Suspend와 resume 경계에서 wakeup IRQ 상태가 바뀝니다.

Marvell 8997 wakeup IRQ 예제

29-44

예제는 `gpio0`의 IRQ pin 3을 out-of-band wake-on-Bluetooth에 사용합니다. USB host의 주소 1에 있는 Marvell 8997 장치는 active-low level interrupt를 `wakeup`으로 명명합니다.

&usb_host1_ehci {
    #address-cells = <1>;
    #size-cells = <0>;

    mvl_bt1: bt@1 {
        compatible = "usb1286,204e";
        reg = <1>;
        interrupt-parent = <&gpio0>;
        interrupt-names = "wakeup";
        interrupts = <3 IRQ_TYPE_LEVEL_LOW>;
    };
};