← Documents Documentation/devicetree/bindings/reset/img,pistachio-reset.txt GitHub 원문 ↗

Linux 6.18.37 · Devicetree Bindings / Reset

Pistachio reset controller

Pistachio soft reset provider와 장치 소비자 구성을 설명합니다.

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

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

1. 요약·해설

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

요약과 해설

img,pistachio-reset.txt:1-55

바인딩의 역할과 필수 속성을 먼저 해설하고, 접을 수 있는 영어 원문 전체와 원문 줄 좌표를 보존한 한국어 전문 번역을 제공합니다.

2. 영어 원문 전체

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

원문 전체 펼치기
1 Pistachio Reset Controller
2 =============================================================================
3
4 This binding describes a reset controller device that is used to enable and
5 disable individual IP blocks within the Pistachio SoC using "soft reset"
6 control bits found in the Pistachio SoC top level registers.
7
8 The actual action taken when soft reset is asserted is hardware dependent.
9 However, when asserted it may not be possible to access the hardware's
10 registers, and following an assert/deassert sequence the hardware's previous
11 state may no longer be valid.
12
13 Please refer to Documentation/devicetree/bindings/reset/reset.txt
14 for common reset controller binding usage.
15
16 Required properties:
17
18 - compatible: Contains "img,pistachio-reset"
19
20 - #reset-cells: Contains 1
21
22 Example:
23
24 cr_periph: clk@18148000 {
25 compatible = "img,pistachio-cr-periph", "syscon", "simple-mfd";
26 reg = <0x18148000 0x1000>;
27 clocks = <&clk_periph PERIPH_CLK_SYS>;
28 clock-names = "sys";
29 #clock-cells = <1>;
30
31 pistachio_reset: reset-controller {
32 compatible = "img,pistachio-reset";
33 #reset-cells = <1>;
34 };
35 };
36
37 Specifying reset control of devices
38 =======================================
39
40 Device nodes should specify the reset channel required in their "resets"
41 property, containing a phandle to the pistachio reset device node and an
42 index specifying which reset to use, as described in
43 Documentation/devicetree/bindings/reset/reset.txt.
44
45 Example:
46
47 spdif_out: spdif-out@18100d00 {
48 ...
49 resets = <&pistachio_reset PISTACHIO_RESET_SPDIF_OUT>;
50 reset-names = "rst";
51 ...
52 };
53
54 Macro definitions for the supported resets can be found in:
55 include/dt-bindings/reset/pistachio-resets.h
56

3. 한국어 전문 번역

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

Pistachio reset controller

1-14

이 바인딩은 Pistachio SoC 최상위 레지스터의 soft reset 제어 비트를 사용해 개별 IP 블록을 활성화하거나 비활성화하는 reset controller 장치를 설명합니다.

soft reset을 assert했을 때의 실제 동작은 하드웨어에 따라 다릅니다. assert된 동안 레지스터에 접근하지 못할 수 있고, assert/deassert 순서를 거친 뒤에는 하드웨어의 이전 상태가 더 이상 유효하지 않을 수 있습니다.

공통 reset controller 사용법은 `Documentation/devicetree/bindings/reset/reset.txt`를 참조합니다.

필수 속성

15-20

`compatible`에는 `img,pistachio-reset`을 넣고 `#reset-cells`에는 1을 넣습니다.

reset controller 예제

21-36

예제는 peripheral clock 노드 안에 한 셀 지정자를 사용하는 `pistachio_reset` 자식 노드를 배치합니다.

cr_periph: clk@18148000 {
        compatible = "img,pistachio-cr-periph", "syscon", "simple-mfd";
        reg = <0x18148000 0x1000>;
        clocks = <&clk_periph PERIPH_CLK_SYS>;
        clock-names = "sys";
        #clock-cells = <1>;

        pistachio_reset: reset-controller {
                compatible = "img,pistachio-reset";
                #reset-cells = <1>;
        };
};

장치의 reset 제어 지정

37-43

장치 노드는 필요한 reset 채널을 `resets` 속성에 지정해야 합니다. 이 속성에는 Pistachio reset 장치 노드의 phandle과 사용할 reset을 가리키는 인덱스가 들어갑니다.

SPDIF 소비자 예제와 매크로

44-55

SPDIF 출력 장치는 `PISTACHIO_RESET_SPDIF_OUT` reset을 요청하고 이름을 `rst`로 지정합니다. 지원하는 reset 매크로는 `include/dt-bindings/reset/pistachio-resets.h`에 정의되어 있습니다.

spdif_out: spdif-out@18100d00 {
        ...
        resets = <&pistachio_reset PISTACHIO_RESET_SPDIF_OUT>;
        reset-names = "rst";
        ...
};