← Documents Documentation/devicetree/bindings/i2c/i2c-davinci.txt GitHub 원문 ↗

Linux 6.18.37 · Devicetree Bindings

TI DaVinci/Keystone I2C

DaVinci/Keystone I2C clock, power domain과 PFUNC 바인딩입니다.

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

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

1. 요약·해설

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

요약과 해설

i2c-davinci.txt:1-43

66AK2G 자원과 LM75 child 예제를 설명합니다.

2. 영어 원문 전체

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

원문 전체 펼치기
1 * Texas Instruments Davinci/Keystone I2C
2
3 This file provides information, what the device node for the
4 davinci/keystone i2c interface contains.
5
6 Required properties:
7 - compatible: "ti,davinci-i2c" or "ti,keystone-i2c";
8 - reg : Offset and length of the register set for the device
9 - clocks: I2C functional clock phandle.
10 For 66AK2G this property should be set per binding,
11 Documentation/devicetree/bindings/clock/ti,sci-clk.yaml
12
13 SoC-specific Required Properties:
14
15 The following are mandatory properties for Keystone 2 66AK2G SoCs only:
16
17 - power-domains: Should contain a phandle to a PM domain provider node
18 and an args specifier containing the I2C device id
19 value. This property is as per the binding,
20 Documentation/devicetree/bindings/soc/ti/sci-pm-domain.yaml
21
22 Recommended properties :
23 - interrupts : standard interrupt property.
24 - clock-frequency : desired I2C bus clock frequency in Hz.
25 - ti,has-pfunc: boolean; if defined, it indicates that SoC supports PFUNC
26 registers. PFUNC registers allow to switch I2C pins to function as
27 GPIOs, so they can be toggled manually.
28
29 Example (enbw_cmc board):
30 i2c@1c22000 {
31 compatible = "ti,davinci-i2c";
32 reg = <0x22000 0x1000>;
33 clock-frequency = <100000>;
34 interrupts = <15>;
35 interrupt-parent = <&intc>;
36 #address-cells = <1>;
37 #size-cells = <0>;
38
39 dtt@48 {
40 compatible = "national,lm75";
41 reg = <0x48>;
42 };
43 };
44

3. 한국어 전문 번역

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

TI DaVinci/Keystone I2C 속성

1-28

TI DaVinci/Keystone I2C interface의 필수 `compatible`은 `ti,davinci-i2c` 또는 `ti,keystone-i2c`입니다. `reg`는 register set offset과 length이고 `clocks`는 I2C functional clock phandle입니다. 66AK2G에서는 `Documentation/devicetree/bindings/clock/ti,sci-clk.yaml`을 따라 clock을 설정합니다.

Keystone 2 66AK2G에서만 필수인 `power-domains`는 PM domain provider phandle과 I2C device ID argument를 포함하며 `Documentation/devicetree/bindings/soc/ti/sci-pm-domain.yaml`을 따릅니다.

권장 `interrupts`는 표준 interrupt property이고 `clock-frequency`는 Hz 단위 I2C bus frequency입니다. Boolean `ti,has-pfunc`는 SoC가 PFUNC register를 지원함을 뜻합니다. PFUNC는 I2C pin을 GPIO function으로 바꾸어 software가 수동으로 toggle할 수 있게 합니다.

DaVinci PFUNC recovery
I2C controllerNormal transfer
ti,has-pfuncPFUNC registers available
Pin function switchI2C to GPIO
Manual togglingBus recovery/control

PFUNC 지원 SoC에서 I2C pin을 GPIO로 바꿔 bus line을 수동 제어하는 경로입니다.

DaVinci I2C와 LM75 예제

29-43

예제 controller는 100 kHz, interrupt 15를 사용하고 address `0x48`의 National LM75 temperature sensor child를 연결합니다.

i2c@1c22000 {
        compatible = "ti,davinci-i2c";
        reg = <0x22000 0x1000>;
        clock-frequency = <100000>;
        interrupts = <15>;
        interrupt-parent = <&intc>;
        #address-cells = <1>;
        #size-cells = <0>;

        dtt@48 {
                compatible = "national,lm75";
                reg = <0x48>;
        };
};