← Documents Documentation/devicetree/bindings/arm/ux500/boards.txt GitHub 원문 ↗

Linux 6.18.37 · Devicetree Bindings

ST-Ericsson Ux500 boards

Ux500 root, DB8500 SoC, backup RAM, GIC, SCU, timer 및 clock 필수 노드입니다.

Source pathDocumentation/devicetree/bindings/arm/ux500/boards.txt
Source versionLinux v6.18.37
TranslationDUJINLABS 전문 번역 + 해설

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

1. 요약·해설

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

요약과 해설

boards.txt:1-83

MOP500/U8500 보드의 필수 계층과 Cortex-A9 로컬 하위 시스템 예제를 설명합니다.

2. 영어 원문 전체

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

원문 전체 펼치기
1 ST-Ericsson Ux500 boards
2 ------------------------
3
4 Required properties (in root node) one of these:
5 compatible = "st-ericsson,mop500" (legacy)
6 compatible = "st-ericsson,u8500"
7
8 Required node (under root node):
9
10 soc: represents the system-on-chip and contains the chip
11 peripherals
12
13 Required property of soc node, one of these:
14 compatible = "stericsson,db8500"
15
16 Required subnodes under soc node:
17
18 backupram: (used for CPU spin tables and for storing data
19 during retention, system won't boot without this):
20 compatible = "ste,dbx500-backupram"
21
22 scu:
23 see binding for arm/arm,scu.yaml
24
25 interrupt-controller:
26 see binding for interrupt-controller/arm,gic.txt
27
28 timer:
29 see binding for timer/arm,twd-timer.yaml
30
31 clocks:
32 see binding for clocks/ux500.txt
33
34 Example:
35
36 /dts-v1/;
37
38 / {
39 model = "ST-Ericsson HREF (pre-v60) and ST UIB";
40 compatible = "st-ericsson,mop500", "st-ericsson,u8500";
41
42 soc {
43 #address-cells = <1>;
44 #size-cells = <1>;
45 compatible = "stericsson,db8500";
46 interrupt-parent = <&intc>;
47 ranges;
48
49 backupram@80150000 {
50 compatible = "ste,dbx500-backupram";
51 reg = <0x80150000 0x2000>;
52 };
53
54 intc: interrupt-controller@a0411000 {
55 compatible = "arm,cortex-a9-gic";
56 #interrupt-cells = <3>;
57 #address-cells = <1>;
58 interrupt-controller;
59 reg = <0xa0411000 0x1000>,
60 <0xa0410100 0x100>;
61 };
62
63 scu@a0410000 {
64 compatible = "arm,cortex-a9-scu";
65 reg = <0xa0410000 0x100>;
66 };
67
68 timer@a0410600 {
69 compatible = "arm,cortex-a9-twd-timer";
70 reg = <0xa0410600 0x20>;
71 interrupts = <1 13 0x304>; /* IRQ level high per-CPU */
72 clocks = <&smp_twd_clk>;
73 };
74
75 clocks {
76 compatible = "stericsson,u8500-clks";
77
78 smp_twd_clk: smp-twd-clock {
79 #clock-cells = <0>;
80 };
81 };
82 };
83 };
84

3. 한국어 전문 번역

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

Ux500 root와 SoC 필수 노드

1-33

ST-Ericsson Ux500 보드

root 노드의 필수 `compatible`은 legacy 값 `st-ericsson,mop500` 또는 `st-ericsson,u8500` 중 하나입니다.

root 아래 필수 `soc` 노드는 system-on-chip을 나타내며 chip peripheral을 포함합니다. `soc` 노드의 필수 `compatible`은 `stericsson,db8500`입니다.

`soc` 아래 필수 `backupram`은 CPU spin table과 retention 중 데이터 저장에 사용되며, 없으면 시스템이 부팅되지 않습니다. `compatible`은 `ste,dbx500-backupram`입니다.

필수 `scu` 하위 노드는 `arm/arm,scu.yaml`, `interrupt-controller`는 `interrupt-controller/arm,gic.txt`, `timer`는 `timer/arm,twd-timer.yaml`, `clocks`는 `clocks/ux500.txt` 바인딩을 참조합니다.

Ux500 필수 노드 계층
/mop500 또는 u8500 compatible
socstericsson,db8500
backupramspin table 및 retention 데이터
SCU + GIC + timerCortex-A9 로컬 하위 시스템
clocksUx500 clock provider

root에서 SoC와 필수 하위 장치로 이어지는 구조입니다.

MOP500 및 DB8500 예

34-83

예제는 ST-Ericsson HREF(pre-v60) 및 ST UIB 보드의 DB8500 SoC 아래 backup RAM, Cortex-A9 GIC, SCU, TWD timer와 해당 timer clock을 배치합니다.

/dts-v1/;

/ {
        model = "ST-Ericsson HREF (pre-v60) and ST UIB";
        compatible = "st-ericsson,mop500", "st-ericsson,u8500";

        soc {
                #address-cells = <1>;
                #size-cells = <1>;
                compatible = "stericsson,db8500";
                interrupt-parent = <&intc>;
                ranges;

                backupram@80150000 {
                        compatible = "ste,dbx500-backupram";
                        reg = <0x80150000 0x2000>;
                };

                intc: interrupt-controller@a0411000 {
                        compatible = "arm,cortex-a9-gic";
                        #interrupt-cells = <3>;
                        #address-cells = <1>;
                        interrupt-controller;
                        reg = <0xa0411000 0x1000>,
                              <0xa0410100 0x100>;
                };

                scu@a0410000 {
                        compatible = "arm,cortex-a9-scu";
                        reg = <0xa0410000 0x100>;
                };

                timer@a0410600 {
                        compatible = "arm,cortex-a9-twd-timer";
                        reg = <0xa0410600 0x20>;
                        interrupts = <1 13 0x304>; /* IRQ level high per-CPU */
                        clocks = <&smp_twd_clk>;
                };

                clocks {
                        compatible = "stericsson,u8500-clks";

                        smp_twd_clk: smp-twd-clock {
                                #clock-cells = <0>;
                        };
                };
        };
};