@@ -96,15 +96,16 @@ big-endian format.
9696
9797``off_dt_struct ``
9898 This field shall contain the offset in bytes of the structure block
99- (see 8.4 ) from the beginning of the header.
99+ (see :ref: ` sect-fdt-structure-block ` ) from the beginning of the header.
100100
101101``off_dt_strings ``
102102 This field shall contain the offset in bytes of the strings block
103- (see FIXME 8.5 ) from the beginning of the header.
103+ (see :ref: ` sect-fdt-strings-block ` ) from the beginning of the header.
104104
105105``off_mem_rsvmap ``
106106 This field shall contain the offset in bytes of the memory
107- reservation block (see 8.3) from the beginning of the header.
107+ reservation block (see :ref: `sect-fdt-memory-reservation-block `)
108+ from the beginning of the header.
108109
109110``version ``
110111 This field shall contain the version of the device tree data
@@ -138,7 +139,7 @@ big-endian format.
138139 section of the device tree blob.
139140
140141
141- .. * FIXME: Add reserved memory node*
142+ .. FIXME: Add reserved memory node
142143
143144 .. _sect-fdt-memory-reservation-block :
144145
@@ -238,6 +239,8 @@ Each token in the structure block, and thus the structure block itself,
238239shall be located at a 4-byte aligned offset from the beginning of the
239240device tree blob (see :ref: `sect-fdt-alignment `).
240241
242+ .. _sect-fdt-lexical-structure :
243+
241244Lexical structure
242245~~~~~~~~~~~~~~~~~
243246
@@ -254,7 +257,7 @@ The five token types are as follows:
254257 The FDT_BEGIN_NODE token marks the beginning of a node’s
255258 representation. It shall be followed by the node’s unit name as
256259 extra data. The name is stored as a null-terminated string, and
257- shall include the unit address (see 2.2.1, Node Names ), if any. The
260+ shall include the unit address (see :ref: ` sect-node-names ` ), if any. The
258261 node name is followed by zeroed padding bytes, if necessary for
259262 alignment, and then the next token, which may be any token except
260263 FDT_END.
@@ -280,10 +283,10 @@ The five token types are as follows:
280283 Both the fields in this structure are 32-bit big-endian integers.
281284
282285 * len gives the length of the property’s value in bytes (which may be
283- zero, indicating an empty property, see 2.2.4.2, Property Values ).
286+ zero, indicating an empty property, see :ref: ` sect-property-values ` ).
284287
285- * nameoff gives an offset into the strings block (see 8.5) at which the
286- property’s name is stored as a null-terminated string.
288+ * nameoff gives an offset into the strings block (see :ref: ` sect-fdt-strings-block `)
289+ at which the property’s name is stored as a null-terminated string.
287290
288291 After this structure, the property’s value is given as a byte string of
289292 length len. This value is followed by zeroed padding bytes (if
@@ -331,7 +334,7 @@ components:
331334* For each property of the node:
332335 * (optionally) any number of FDT_NOP tokens
333336 * FDT_PROP token
334- * property information as given in 8.4.1
337+ * property information as given in :ref: ` sect-fdt-lexical-structure `
335338 * [zeroed padding bytes to align to a 4-byte boundary]
336339* Representations of all child nodes in this format
337340* (optionally) any number of FDT_NOP tokens
@@ -375,7 +378,7 @@ shall have aligned offsets from the beginning of the device tree blob.
375378To ensure the in-memory alignment of the blocks, it is sufficient to
376379ensure that the device tree as a whole is loaded at an address aligned
377380to the largest alignment of any of the subblocks, that is, to an 8-byte
378- boundary. As described in 5.2 (Device Tree) an |spec | compliant boot
381+ boundary. A |spec | compliant boot
379382program shall load the device tree blob at such an aligned address
380383before passing it to the client program. If an |spec | client program
381384relocates the device tree blob in memory, it should only do so to
0 commit comments