요약·해설과 원문, 전문 번역을 서로 분리했습니다. API 이름, symbol, source path는 원문 표기를 사용합니다.
1. 요약·해설
원문의 핵심 논리와 kernel programming 관점의 보충 설명입니다. 아래의 전문 번역과는 별도로 작성했습니다.
2. 영어 원문 전체
번역 기준이 된 Linux v6.18.37 원문입니다. 줄 번호는 이 버전의 파일 좌표입니다.
원문 전체 펼치기
* TI OMAP SDHCI Controller
Refer to mmc.txt for standard MMC bindings.
For UHS devices which require tuning, the device tree should have a "cpu_thermal" node which maps to the appropriate thermal zone. This is used to get the temperature of the zone during tuning.
Required properties:
- compatible: Should be "ti,omap2430-sdhci" for omap2430 controllers
Should be "ti,omap3-sdhci" for omap3 controllers
Should be "ti,omap4-sdhci" for omap4 and ti81 controllers
Should be "ti,omap5-sdhci" for omap5 controllers
Should be "ti,dra7-sdhci" for DRA7 and DRA72 controllers
Should be "ti,k2g-sdhci" for K2G
Should be "ti,am335-sdhci" for am335x controllers
Should be "ti,am437-sdhci" for am437x controllers
- ti,hwmods: Must be "mmc<n>", <n> is controller instance starting 1
(Not required for K2G).
- pinctrl-names: Should be subset of "default", "hs", "sdr12", "sdr25", "sdr50",
"ddr50-rev11", "sdr104-rev11", "ddr50", "sdr104",
"ddr_1_8v-rev11", "ddr_1_8v" or "ddr_3_3v", "hs200_1_8v-rev11",
"hs200_1_8v",
- pinctrl-<n> : Pinctrl states as described in bindings/pinctrl/pinctrl-bindings.txt
Optional properties:
- dmas: List of DMA specifiers with the controller specific format as described
in the generic DMA client binding. A tx and rx specifier is required.
- dma-names: List of DMA request names. These strings correspond 1:1 with the
DMA specifiers listed in dmas. The string naming is to be "tx"
and "rx" for TX and RX DMA requests, respectively.
Deprecated properties:
- ti,non-removable: Compatible with the generic non-removable property
Example:
mmc1: mmc@4809c000 {
compatible = "ti,dra7-sdhci";
reg = <0x4809c000 0x400>;
ti,hwmods = "mmc1";
bus-width = <4>;
vmmc-supply = <&vmmc>; /* phandle to regulator node */
dmas = <&sdma 61 &sdma 62>;
dma-names = "tx", "rx";
};
3. 한국어 전문 번역
영어 원문의 문단 순서와 의미를 유지한 전체 번역입니다. 코드, 함수명, symbol과 URL은 원문 표기를 유지합니다.
TI OMAP SDHCI와 UHS tuning
1-6표준 MMC 속성은 `mmc.txt`를 참조합니다. Tuning이 필요한 UHS 장치에서는 device tree에 적절한 thermal zone으로 mapping되는 `cpu_thermal` node가 있어야 하며, tuning 중 이 zone의 온도를 읽는 데 사용됩니다.
Controller tuning이 CPU thermal zone의 현재 온도를 입력으로 사용합니다.
SoC 호환성과 pinctrl state
7-23`compatible`은 OMAP2430에 `ti,omap2430-sdhci`, OMAP3에 `ti,omap3-sdhci`, OMAP4와 TI81에 `ti,omap4-sdhci`, OMAP5에 `ti,omap5-sdhci`, DRA7·DRA72에 `ti,dra7-sdhci`, K2G에 `ti,k2g-sdhci`, AM335x에 `ti,am335-sdhci`, AM437x에 `ti,am437-sdhci`를 사용합니다.
`ti,hwmods`는 1부터 시작하는 controller instance를 넣은 `mmc<n>`이어야 하지만 K2G에서는 필요하지 않습니다. `pinctrl-names`는 `default`, `hs`, `sdr12`, `sdr25`, `sdr50`, `ddr50-rev11`, `sdr104-rev11`, `ddr50`, `sdr104`, `ddr_1_8v-rev11`, `ddr_1_8v`, `ddr_3_3v`, `hs200_1_8v-rev11`, `hs200_1_8v`의 부분집합입니다. 각 `pinctrl-<n>`은 `bindings/pinctrl/pinctrl-bindings.txt` 형식의 state입니다.
Controller 계열별 필수 호환 문자열입니다.
DMA와 deprecated non-removable
24-33선택 `dmas`는 generic DMA client binding에서 정의한 controller별 형식의 DMA specifier 목록이며 TX와 RX가 모두 필요합니다. `dma-names`의 각 문자열은 `dmas` 항목과 1:1로 대응하고 이름은 각각 `tx`, `rx`입니다.
Deprecated `ti,non-removable`은 generic `non-removable` 속성과 호환됩니다. 새 device tree는 generic 이름을 사용해야 합니다.
DRA7 SDHCI와 SDMA 예제
34-43예제는 DRA7 controller `mmc1`에 4-bit bus와 VMMC regulator를 연결하고, SDMA request 61·62를 TX·RX로 이름 붙입니다.
mmc1: mmc@4809c000 {
compatible = "ti,dra7-sdhci";
reg = <0x4809c000 0x400>;
ti,hwmods = "mmc1";
bus-width = <4>;
vmmc-supply = <&vmmc>; /* phandle to regulator node */
dmas = <&sdma 61 &sdma 62>;
dma-names = "tx", "rx";
};
요약과 해설
sdhci-omap.txt:1-43UHS tuning 온도 참조, pinctrl state와 SDMA 예제를 설명합니다.