Documentation/devicetree/bindings/spmi/hisilicon,hisi-spmi-controller.yaml GitHub 원문 ↗

Linux 6.18.37 · Devicetree Bindings / SPMI

HiSilicon SPMI controller

Kirin 970 SPMI channel과 HiSilicon PMIC child node pattern을 설명합니다.

Source pathDocumentation/devicetree/bindings/spmi/hisilicon,hisi-spmi-controller.yaml
Source versionLinux v6.18.37
TranslationDUJINLABS 전문 번역 + 해설

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

1. 요약·해설

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

요약과 해설

hisilicon,hisi-spmi-controller.yaml:1-70

Kirin 970 SPMI channel과 HiSilicon PMIC child node pattern을 설명합니다. 접을 수 있는 영어 원문 전체와 줄 좌표를 보존하고, 한국어 전문 번역에서는 compatible·property·symbol·source path·수치·예제 코드를 원형대로 유지합니다.

2. 영어 원문 전체

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

원문 전체 펼치기
1 # SPDX-License-Identifier: GPL-2.0
2 %YAML 1.2
3 ---
4 $id: http://devicetree.org/schemas/spmi/hisilicon,hisi-spmi-controller.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
6
7 title: HiSilicon SPMI controller
8
9 maintainers:
10 - Mauro Carvalho Chehab <[email protected]>
11
12 description: |
13 The HiSilicon SPMI BUS controller is found on some Kirin-based designs.
14 It is a MIPI System Power Management (SPMI) controller.
15
16 The PMIC part is provided by
17 Documentation/devicetree/bindings/mfd/hisilicon,hi6421-spmi-pmic.yaml.
18
19 allOf:
20 - $ref: spmi.yaml#
21
22 properties:
23
24 $nodename:
25 pattern: "spmi@[0-9a-f]"
26
27 compatible:
28 const: hisilicon,kirin970-spmi-controller
29
30 reg:
31 maxItems: 1
32
33 hisilicon,spmi-channel:
34 $ref: /schemas/types.yaml#/definitions/uint32
35 description: |
36 number of the Kirin 970 SPMI channel where the SPMI devices are connected.
37
38 required:
39 - compatible
40 - reg
41 - hisilicon,spmi-channel
42
43 patternProperties:
44 "@[0-9a-f]$":
45 type: object
46
47 description: |
48 PMIC properties, which are specific to the used SPMI PMIC device(s).
49 When used in combination with HiSilicon 6421v600, the properties
50 are documented at
51 Documentation/devicetree/bindings/mfd/hisilicon,hi6421-spmi-pmic.yaml
52
53 unevaluatedProperties: false
54
55 examples:
56 - |
57 #include <dt-bindings/spmi/spmi.h>
58
59 spmi@fff24000 {
60 compatible = "hisilicon,kirin970-spmi-controller";
61 reg = <0xfff24000 0x1000>;
62 #address-cells = <2>;
63 #size-cells = <0>;
64 hisilicon,spmi-channel = <2>;
65
66 pmic@0 {
67 reg = <0 SPMI_USID>;
68 /* pmic properties */
69 };
70 };
71

3. 한국어 전문 번역

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

HiSilicon Kirin SPMI controller

1-21

이 GPL-2.0 YAML schema는 일부 Kirin 기반 설계의 HiSilicon MIPI System Power Management Interface(SPMI) bus controller를 정의합니다. PMIC 부분은 `Documentation/devicetree/bindings/mfd/hisilicon,hi6421-spmi-pmic.yaml`에서 제공하며 공통 `spmi.yaml#`을 상속합니다. Maintainer는 Mauro Carvalho Chehab입니다.

Node 이름과 Kirin 970 channel

22-42

Node name은 `spmi@[0-9a-f]` pattern을 따라야 합니다. `compatible`은 `hisilicon,kirin970-spmi-controller`, `reg`는 최대 한 항목입니다.

`hisilicon,spmi-channel`은 SPMI device가 연결된 Kirin 970 SPMI channel 번호를 지정하는 `uint32`입니다. 필수 속성은 `compatible`, `reg`, `hisilicon,spmi-channel`입니다.

PMIC child node pattern

43-54

이름이 `@[0-9a-f]$`로 끝나는 child object는 사용한 SPMI PMIC device별 속성을 담습니다. HiSilicon 6421v600과 함께 사용할 때의 속성은 `Documentation/devicetree/bindings/mfd/hisilicon,hi6421-spmi-pmic.yaml`에 정의됩니다. `unevaluatedProperties: false`로 그 밖의 추가 속성을 금지합니다.

Kirin 970 channel 2와 PMIC 예제

55-70

예제의 `spmi@fff24000`은 `hisilicon,kirin970-spmi-controller`, 0x1000 크기 register 영역과 SPMI channel 2를 사용합니다. Child `pmic@0`은 `reg = <0 SPMI_USID>`입니다.

#include <dt-bindings/spmi/spmi.h>

spmi@fff24000 {
    compatible = "hisilicon,kirin970-spmi-controller";
    reg = <0xfff24000 0x1000>;
    #address-cells = <2>;
    #size-cells = <0>;
    hisilicon,spmi-channel = <2>;

    pmic@0 {
        reg = <0 SPMI_USID>;
        /* pmic properties */
    };
};