diff options
author | Grant Likely <grant.likely@secretlab.ca> | 2011-01-31 02:09:58 -0500 |
---|---|---|
committer | Grant Likely <grant.likely@secretlab.ca> | 2011-01-31 15:18:33 -0500 |
commit | 9830fcd6f6a4781d8b46d2b35c13b39f30915c63 (patch) | |
tree | a27be74182dc984678bcbb1668105adaf5a6efb0 /Documentation/devicetree | |
parent | cf4e5c6e8d2b87ae8e61168a7dc860d68c578745 (diff) |
dt: add documentation of ARM dt boot interface
v3: added details to Documentation/arm/Booting
Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
Diffstat (limited to 'Documentation/devicetree')
-rw-r--r-- | Documentation/devicetree/booting-without-of.txt | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/Documentation/devicetree/booting-without-of.txt b/Documentation/devicetree/booting-without-of.txt index 28b1c9d3d351..9381a1481027 100644 --- a/Documentation/devicetree/booting-without-of.txt +++ b/Documentation/devicetree/booting-without-of.txt | |||
@@ -13,6 +13,7 @@ Table of Contents | |||
13 | 13 | ||
14 | I - Introduction | 14 | I - Introduction |
15 | 1) Entry point for arch/powerpc | 15 | 1) Entry point for arch/powerpc |
16 | 2) Entry point for arch/arm | ||
16 | 17 | ||
17 | II - The DT block format | 18 | II - The DT block format |
18 | 1) Header | 19 | 1) Header |
@@ -225,6 +226,45 @@ it with special cases. | |||
225 | cannot support both configurations with Book E and configurations | 226 | cannot support both configurations with Book E and configurations |
226 | with classic Powerpc architectures. | 227 | with classic Powerpc architectures. |
227 | 228 | ||
229 | 2) Entry point for arch/arm | ||
230 | --------------------------- | ||
231 | |||
232 | There is one single entry point to the kernel, at the start | ||
233 | of the kernel image. That entry point supports two calling | ||
234 | conventions. A summary of the interface is described here. A full | ||
235 | description of the boot requirements is documented in | ||
236 | Documentation/arm/Booting | ||
237 | |||
238 | a) ATAGS interface. Minimal information is passed from firmware | ||
239 | to the kernel with a tagged list of predefined parameters. | ||
240 | |||
241 | r0 : 0 | ||
242 | |||
243 | r1 : Machine type number | ||
244 | |||
245 | r2 : Physical address of tagged list in system RAM | ||
246 | |||
247 | b) Entry with a flattened device-tree block. Firmware loads the | ||
248 | physical address of the flattened device tree block (dtb) into r2, | ||
249 | r1 is not used, but it is considered good practise to use a valid | ||
250 | machine number as described in Documentation/arm/Booting. | ||
251 | |||
252 | r0 : 0 | ||
253 | |||
254 | r1 : Valid machine type number. When using a device tree, | ||
255 | a single machine type number will often be assigned to | ||
256 | represent a class or family of SoCs. | ||
257 | |||
258 | r2 : physical pointer to the device-tree block | ||
259 | (defined in chapter II) in RAM. Device tree can be located | ||
260 | anywhere in system RAM, but it should be aligned on a 32 bit | ||
261 | boundary. | ||
262 | |||
263 | The kernel will differentiate between ATAGS and device tree booting by | ||
264 | reading the memory pointed to by r1 and looking for either the flattened | ||
265 | device tree block magic value (0xd00dfeed) or the ATAG_CORE value at | ||
266 | offset 0x4 from r2 (0x54410001). | ||
267 | |||
228 | 268 | ||
229 | II - The DT block format | 269 | II - The DT block format |
230 | ======================== | 270 | ======================== |