Documentation/devicetree/bindings/mmc/usdhi6rol0.txt GitHub 원문 ↗

Linux 6.18.37 · Devicetree Bindings

Renesas usdhi6rol0 SD and SDIO

Renesas host의 세 interrupt, IMCLK, VMMC·VQMMC 바인딩입니다.

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

요약·해설, 영어 원문, 전체 번역을 구분해 실었습니다. API 이름, 코드 심벌, 소스 경로는 원문 표기를 유지합니다.

1. 요약·해설

원문의 핵심 내용을 정리하고 커널 프로그래밍에 필요한 설명을 덧붙였습니다. 아래의 전체 번역과는 별도로 작성한 해설입니다.

요약과 해설

usdhi6rol0.txt:1-39

Card detect·data·SDIO interrupt와 UHS pinctrl을 설명합니다.

2. 영어 원문 전체

번역에 사용한 Linux v6.18.37 원문입니다. 줄 번호는 해당 버전의 소스 파일을 기준으로 합니다.

원문 전체 펼치기
1 * Renesas usdhi6rol0 SD/SDIO host controller
2
3 Required properties:
4
5 - compatible: must be
6 "renesas,usdhi6rol0"
7 - interrupts: 3 interrupts, named "card detect", "data" and "SDIO" must be
8 specified
9 - clocks: a clock binding for the IMCLK input
10
11 Optional properties:
12
13 - vmmc-supply: a phandle of a regulator, supplying Vcc to the card
14 - vqmmc-supply: a phandle of a regulator, supplying VccQ to the card
15 - pinctrl-names: Can contain a "default" entry and a "state_uhs"
16 entry. The state_uhs entry is used together with the default
17 entry when the board requires distinct settings for UHS speeds.
18
19 - pinctrl-N: One property for each name listed in pinctrl-names, see
20 ../pinctrl/pinctrl-bindings.txt.
21
22 Additionally any standard mmc bindings from mmc.txt can be used.
23
24 Example:
25
26 sd0: sd@ab000000 {
27 compatible = "renesas,usdhi6rol0";
28 reg = <0xab000000 0x200>;
29 interrupts = <0 23 0x4
30 0 24 0x4
31 0 25 0x4>;
32 interrupt-names = "card detect", "data", "SDIO";
33 bus-width = <4>;
34 max-frequency = <50000000>;
35 cap-power-off-card;
36 clocks = <&imclk>;
37 vmmc-supply = <&vcc_sd0>;
38 vqmmc-supply = <&vccq_sd0>;
39 };
40

3. 한국어 전문 번역

영어 원문의 문단 순서와 의미에 맞춰 전체 내용을 번역했습니다. 코드, 함수명, 코드 심벌, URL은 원문 표기를 유지합니다.

Renesas usdhi6rol0 host

1-2

이 문서는 Renesas `usdhi6rol0` SD·SDIO host controller 바인딩입니다.

세 interrupt와 IMCLK

3-10

필수 `compatible`은 `renesas,usdhi6rol0`입니다. `interrupts`에는 이름이 각각 `card detect`, `data`, `SDIO`인 interrupt 세 개를 지정해야 하며, `clocks`에는 IMCLK input의 clock binding을 넣습니다.

usdhi6rol0 interrupt
이름역할
card detectCard 삽입·제거 감지
dataData transfer event
SDIOSDIO interrupt

세 interrupt는 card 상태와 전송, SDIO event를 분리합니다.

Card 전원과 UHS pinctrl

11-23

선택 `vmmc-supply`는 card Vcc를 공급하는 regulator의 phandle이고, `vqmmc-supply`는 card VccQ를 공급하는 regulator의 phandle입니다.

`pinctrl-names`에는 `default`와 `state_uhs`를 넣을 수 있습니다. Board가 UHS 속도에서 별도 pin 설정을 필요로 할 때 `state_uhs`를 `default`와 함께 사용합니다. 각 이름에는 `../pinctrl/pinctrl-bindings.txt` 형식의 `pinctrl-N` 속성이 하나씩 대응합니다.

이 속성들 외에도 `mmc.txt`의 모든 표준 MMC 바인딩을 사용할 수 있습니다.

Renesas SD0 예제

24-39

예제는 `0xab000000`의 controller에 세 interrupt와 이름을 순서대로 연결하고, 4-bit bus, 50MHz, card power-off capability, IMCLK, VMMC와 VQMMC regulator를 설정합니다.

sd0: sd@ab000000 {
        compatible = "renesas,usdhi6rol0";
        reg = <0xab000000 0x200>;
        interrupts = <0 23 0x4
                      0 24 0x4
                      0 25 0x4>;
        interrupt-names = "card detect", "data", "SDIO";
        bus-width = <4>;
        max-frequency = <50000000>;
        cap-power-off-card;
        clocks = <&imclk>;
        vmmc-supply = <&vcc_sd0>;
        vqmmc-supply = <&vccq_sd0>;
};