← Documents Documentation/devicetree/bindings/mmc/cavium-mmc.txt GitHub 원문 ↗

Linux 6.18.37 · Devicetree Bindings

Cavium Octeon and ThunderX MMC

Cavium MMC controller와 SD·eMMC slot, clock-skew 바인딩입니다.

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

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

1. 요약·해설

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

요약과 해설

cavium-mmc.txt:1-57

3.3V 제한, deprecated 속성 대체와 4-bit·8-bit slot 예제를 설명합니다.

2. 영어 원문 전체

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

원문 전체 펼치기
1 * Cavium Octeon & ThunderX MMC controller
2
3 The highspeed MMC host controller on Caviums SoCs provides an interface
4 for MMC and SD types of memory cards.
5
6 Supported maximum speeds are the ones of the eMMC standard 4.41 as well
7 as the speed of SD standard 4.0. Only 3.3 Volt is supported.
8
9 Required properties:
10 - compatible : should be one of:
11 cavium,octeon-6130-mmc
12 cavium,octeon-7890-mmc
13 cavium,thunder-8190-mmc
14 cavium,thunder-8390-mmc
15 mmc-slot
16 - reg : mmc controller base registers
17 - clocks : phandle
18
19 Optional properties:
20 - for cd, bus-width and additional generic mmc parameters
21 please refer to mmc.txt within this directory
22 - cavium,cmd-clk-skew : number of coprocessor clocks before sampling command
23 - cavium,dat-clk-skew : number of coprocessor clocks before sampling data
24
25 Deprecated properties:
26 - spi-max-frequency : use max-frequency instead
27 - cavium,bus-max-width : use bus-width instead
28 - power-gpios : use vmmc-supply instead
29 - cavium,octeon-6130-mmc-slot : use mmc-slot instead
30
31 Examples:
32 mmc_1_4: mmc@1,4 {
33 compatible = "cavium,thunder-8390-mmc";
34 reg = <0x0c00 0 0 0 0>; /* DEVFN = 0x0c (1:4) */
35 #address-cells = <1>;
36 #size-cells = <0>;
37 clocks = <&sclk>;
38
39 mmc-slot@0 {
40 compatible = "mmc-slot";
41 reg = <0>;
42 vmmc-supply = <&mmc_supply_3v3>;
43 max-frequency = <42000000>;
44 bus-width = <4>;
45 cap-sd-highspeed;
46 };
47
48 mmc-slot@1 {
49 compatible = "mmc-slot";
50 reg = <1>;
51 vmmc-supply = <&mmc_supply_3v3>;
52 max-frequency = <42000000>;
53 bus-width = <8>;
54 cap-mmc-highspeed;
55 non-removable;
56 };
57 };
58

3. 한국어 전문 번역

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

Cavium Octeon·ThunderX MMC

1-8

Cavium SoC의 high-speed MMC host controller는 MMC와 SD memory card interface를 제공합니다. 최대 속도는 eMMC standard 4.41과 SD standard 4.0 수준이며 3.3V만 지원합니다.

Cavium MMC controller
Octeon / ThunderX MMCSlot 0 SD
Octeon / ThunderX MMCSlot 1 eMMC
3.3V supplyBoth slots

하나의 controller가 slot별 SD 또는 eMMC 구성과 3.3V supply를 제공합니다.

Controller와 slot 호환성

9-18

`compatible`은 `cavium,octeon-6130-mmc`, `cavium,octeon-7890-mmc`, `cavium,thunder-8190-mmc`, `cavium,thunder-8390-mmc`, `mmc-slot` 중 하나입니다. `reg`는 MMC controller base register이고 `clocks`는 clock phandle입니다.

Cavium MMC 호환 문자열
대상호환 문자열
Octeon 6130cavium,octeon-6130-mmc
Octeon 7890cavium,octeon-7890-mmc
Thunder 8190cavium,thunder-8190-mmc
Thunder 8390cavium,thunder-8390-mmc
Slot childmmc-slot

Controller 세대와 slot node 문자열입니다.

Clock skew와 deprecated 속성

19-30

Card detect, `bus-width`, 추가 generic MMC parameter는 같은 directory의 `mmc.txt`를 따릅니다. `cavium,cmd-clk-skew`는 command sampling 전 coprocessor clock 수이고 `cavium,dat-clk-skew`는 data sampling 전 clock 수입니다.

Deprecated `spi-max-frequency`는 `max-frequency`, `cavium,bus-max-width`는 `bus-width`, `power-gpios`는 `vmmc-supply`, `cavium,octeon-6130-mmc-slot`은 `mmc-slot`로 대체합니다.

SD·eMMC 두 slot 예제

31-57

Thunder 8390 controller 예제는 PCI DEVFN `0x0c`와 `sclk`을 사용합니다. Slot 0은 3.3V supply, 42MHz, 4-bit bus와 SD high-speed capability를 지정합니다. Slot 1은 같은 supply·clock에서 8-bit bus, MMC high-speed, non-removable을 지정합니다.

mmc_1_4: mmc@1,4 {
        compatible = "cavium,thunder-8390-mmc";
        reg = <0x0c00 0 0 0 0>;        /* DEVFN = 0x0c (1:4) */
        #address-cells = <1>;
        #size-cells = <0>;
        clocks = <&sclk>;

        mmc-slot@0 {
                compatible = "mmc-slot";
                reg = <0>;
                vmmc-supply = <&mmc_supply_3v3>;
                max-frequency = <42000000>;
                bus-width = <4>;
                cap-sd-highspeed;
        };

        mmc-slot@1 {
                compatible = "mmc-slot";
                reg = <1>;
                vmmc-supply = <&mmc_supply_3v3>;
                max-frequency = <42000000>;
                bus-width = <8>;
                cap-mmc-highspeed;
                non-removable;
        };
};