diff options
author | Grant Likely <grant.likely@secretlab.ca> | 2011-04-28 16:27:23 -0400 |
---|---|---|
committer | Grant Likely <grant.likely@secretlab.ca> | 2011-05-23 11:30:20 -0400 |
commit | ede338f4ce2fb5ee99d18751df32fbd3b10df268 (patch) | |
tree | 714bfcb440e54bae62d3a73f1de9d4b33ca69c21 /Documentation/devicetree/booting-without-of.txt | |
parent | 93c02ab40ae6e06cb24d14845d9f008fdd24f43d (diff) |
dt: add documentation of ARM dt boot interface
v6: typo fixes
v5: clarified that dtb should be aligned on a 64 bit boundary in RAM.
v3: added details to Documentation/arm/Booting
Acked-by: Tony Lindgren <tony@atomide.com>
Acked-by: Nicolas Pitre <nicolas.pitre@linaro.org>
Acked-by: Russell King <rmk+kernel@arm.linux.org.uk>
Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
Diffstat (limited to 'Documentation/devicetree/booting-without-of.txt')
-rw-r--r-- | Documentation/devicetree/booting-without-of.txt | 48 |
1 files changed, 44 insertions, 4 deletions
diff --git a/Documentation/devicetree/booting-without-of.txt b/Documentation/devicetree/booting-without-of.txt index 50619a0720a8..7c1329de0596 100644 --- a/Documentation/devicetree/booting-without-of.txt +++ b/Documentation/devicetree/booting-without-of.txt | |||
@@ -12,8 +12,9 @@ Table of Contents | |||
12 | ================= | 12 | ================= |
13 | 13 | ||
14 | I - Introduction | 14 | I - Introduction |
15 | 1) Entry point for arch/powerpc | 15 | 1) Entry point for arch/arm |
16 | 2) Entry point for arch/x86 | 16 | 2) Entry point for arch/powerpc |
17 | 3) Entry point for arch/x86 | ||
17 | 18 | ||
18 | II - The DT block format | 19 | II - The DT block format |
19 | 1) Header | 20 | 1) Header |
@@ -148,7 +149,46 @@ upgrades without significantly impacting the kernel code or cluttering | |||
148 | it with special cases. | 149 | it with special cases. |
149 | 150 | ||
150 | 151 | ||
151 | 1) Entry point for arch/powerpc | 152 | 1) Entry point for arch/arm |
153 | --------------------------- | ||
154 | |||
155 | There is one single entry point to the kernel, at the start | ||
156 | of the kernel image. That entry point supports two calling | ||
157 | conventions. A summary of the interface is described here. A full | ||
158 | description of the boot requirements is documented in | ||
159 | Documentation/arm/Booting | ||
160 | |||
161 | a) ATAGS interface. Minimal information is passed from firmware | ||
162 | to the kernel with a tagged list of predefined parameters. | ||
163 | |||
164 | r0 : 0 | ||
165 | |||
166 | r1 : Machine type number | ||
167 | |||
168 | r2 : Physical address of tagged list in system RAM | ||
169 | |||
170 | b) Entry with a flattened device-tree block. Firmware loads the | ||
171 | physical address of the flattened device tree block (dtb) into r2, | ||
172 | r1 is not used, but it is considered good practise to use a valid | ||
173 | machine number as described in Documentation/arm/Booting. | ||
174 | |||
175 | r0 : 0 | ||
176 | |||
177 | r1 : Valid machine type number. When using a device tree, | ||
178 | a single machine type number will often be assigned to | ||
179 | represent a class or family of SoCs. | ||
180 | |||
181 | r2 : physical pointer to the device-tree block | ||
182 | (defined in chapter II) in RAM. Device tree can be located | ||
183 | anywhere in system RAM, but it should be aligned on a 64 bit | ||
184 | boundary. | ||
185 | |||
186 | The kernel will differentiate between ATAGS and device tree booting by | ||
187 | reading the memory pointed to by r2 and looking for either the flattened | ||
188 | device tree block magic value (0xd00dfeed) or the ATAG_CORE value at | ||
189 | offset 0x4 from r2 (0x54410001). | ||
190 | |||
191 | 2) Entry point for arch/powerpc | ||
152 | ------------------------------- | 192 | ------------------------------- |
153 | 193 | ||
154 | There is one single entry point to the kernel, at the start | 194 | There is one single entry point to the kernel, at the start |
@@ -226,7 +266,7 @@ it with special cases. | |||
226 | cannot support both configurations with Book E and configurations | 266 | cannot support both configurations with Book E and configurations |
227 | with classic Powerpc architectures. | 267 | with classic Powerpc architectures. |
228 | 268 | ||
229 | 2) Entry point for arch/x86 | 269 | 3) Entry point for arch/x86 |
230 | ------------------------------- | 270 | ------------------------------- |
231 | 271 | ||
232 | There is one single 32bit entry point to the kernel at code32_start, | 272 | There is one single 32bit entry point to the kernel at code32_start, |