요약·해설과 원문, 전문 번역을 서로 분리했습니다. API 이름, symbol, source path는 원문 표기를 사용합니다.
1. 요약·해설
원문의 핵심 논리와 kernel programming 관점의 보충 설명입니다. 아래의 전문 번역과는 별도로 작성했습니다.
2. 영어 원문 전체
번역 기준이 된 Linux v6.18.37 원문입니다. 줄 번호는 이 버전의 파일 좌표입니다.
원문 전체 펼치기
* Cavium Octeon & ThunderX MMC controller
The highspeed MMC host controller on Caviums SoCs provides an interface
for MMC and SD types of memory cards.
Supported maximum speeds are the ones of the eMMC standard 4.41 as well
as the speed of SD standard 4.0. Only 3.3 Volt is supported.
Required properties:
- compatible : should be one of:
cavium,octeon-6130-mmc
cavium,octeon-7890-mmc
cavium,thunder-8190-mmc
cavium,thunder-8390-mmc
mmc-slot
- reg : mmc controller base registers
- clocks : phandle
Optional properties:
- for cd, bus-width and additional generic mmc parameters
please refer to mmc.txt within this directory
- cavium,cmd-clk-skew : number of coprocessor clocks before sampling command
- cavium,dat-clk-skew : number of coprocessor clocks before sampling data
Deprecated properties:
- spi-max-frequency : use max-frequency instead
- cavium,bus-max-width : use bus-width instead
- power-gpios : use vmmc-supply instead
- cavium,octeon-6130-mmc-slot : use mmc-slot instead
Examples:
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;
};
};
3. 한국어 전문 번역
영어 원문의 문단 순서와 의미를 유지한 전체 번역입니다. 코드, 함수명, symbol과 URL은 원문 표기를 유지합니다.
Cavium Octeon·ThunderX MMC
1-8Cavium SoC의 high-speed MMC host controller는 MMC와 SD memory card interface를 제공합니다. 최대 속도는 eMMC standard 4.41과 SD standard 4.0 수준이며 3.3V만 지원합니다.
하나의 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입니다.
Controller 세대와 slot node 문자열입니다.
Clock skew와 deprecated 속성
19-30Card 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-57Thunder 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;
};
};
요약과 해설
cavium-mmc.txt:1-573.3V 제한, deprecated 속성 대체와 4-bit·8-bit slot 예제를 설명합니다.