Documentation/devicetree/bindings/i2c/i2c-img-scb.txt GitHub 원문 ↗

Linux 6.18.37 · Devicetree Bindings

IMG SCB I2C Controller

IMG SCB core/system clock과 I2C bus frequency 바인딩입니다.

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

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

1. 요약·해설

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

요약과 해설

i2c-img-scb.txt:1-26

두 clock domain과 400 kHz 예제를 설명합니다.

2. 영어 원문 전체

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

원문 전체 펼치기
1 IMG Serial Control Bus (SCB) I2C Controller
2
3 Required Properties:
4 - compatible: "img,scb-i2c"
5 - reg: Physical base address and length of controller registers
6 - interrupts: Interrupt number used by the controller
7 - clocks : Should contain a clock specifier for each entry in clock-names
8 - clock-names : Should contain the following entries:
9 "scb", for the SCB core clock.
10 "sys", for the system clock.
11 - clock-frequency: The I2C bus frequency in Hz
12 - #address-cells: Should be <1>
13 - #size-cells: Should be <0>
14
15 Example:
16
17 i2c@18100000 {
18 compatible = "img,scb-i2c";
19 reg = <0x18100000 0x200>;
20 interrupts = <GIC_SHARED 2 IRQ_TYPE_LEVEL_HIGH>;
21 clocks = <&i2c0_clk>, <&system_clk>;
22 clock-names = "scb", "sys";
23 clock-frequency = <400000>;
24 #address-cells = <1>;
25 #size-cells = <0>;
26 };
27

3. 한국어 전문 번역

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

IMG SCB I2C 속성

1-14

IMG Serial Control Bus(SCB) I2C controller의 필수 `compatible`은 `img,scb-i2c`, `reg`는 controller register의 physical base와 length, `interrupts`는 controller interrupt number입니다.

`clocks`에는 `clock-names`의 각 entry에 대응하는 clock specifier를 넣습니다. `clock-names`에는 SCB core clock용 `scb`, system clock용 `sys`가 있어야 합니다. `clock-frequency`는 Hz 단위 I2C bus frequency이고 `#address-cells`는 1, `#size-cells`는 0입니다.

IMG SCB clock domains
scb clockSCB core
sys clockSystem interface
IMG SCB I2CBus frequency
Controller IRQTransfer completion/error

SCB core와 system clock이 controller와 bus timing을 공급합니다.

IMG SCB 400 kHz 예제

15-26

예제는 register `0x18100000`의 0x200-byte 영역, level-high shared interrupt 2, SCB/system clock과 400 kHz bus를 사용합니다.

i2c@18100000 {
        compatible = "img,scb-i2c";
        reg = <0x18100000 0x200>;
        interrupts = <GIC_SHARED 2 IRQ_TYPE_LEVEL_HIGH>;
        clocks = <&i2c0_clk>, <&system_clk>;
        clock-names = "scb", "sys";
        clock-frequency = <400000>;
        #address-cells = <1>;
        #size-cells = <0>;
};