From: Stephen Neuendorffer Date: Tue, 4 Dec 2007 01:08:57 +0000 (+1100) Subject: [POWERPC] Improved documentation of device tree 'ranges' X-Git-Tag: v2.6.25-rc1~1131^2~352 X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=e1fd18656c2963e383d67b7006c0e06c9c1d9c79;p=linux-2.6 [POWERPC] Improved documentation of device tree 'ranges' This clarifies how 'ranges' properties are used, and in particular, how to get an identity mapping. Signed-off-by: Stephen Neuendorffer Acked-by: David Gibson Acked-by: Grant Likely Signed-off-by: Paul Mackerras --- diff --git a/Documentation/powerpc/booting-without-of.txt b/Documentation/powerpc/booting-without-of.txt index e9a3cb1d6b..7327f37d78 100644 --- a/Documentation/powerpc/booting-without-of.txt +++ b/Documentation/powerpc/booting-without-of.txt @@ -711,13 +711,14 @@ define a bus type with a more complex address format, including things like address space bits, you'll have to add a bus translator to the prom_parse.c file of the recent kernels for your bus type. -The "reg" property only defines addresses and sizes (if #size-cells -is non-0) within a given bus. In order to translate addresses upward +The "reg" property only defines addresses and sizes (if #size-cells is +non-0) within a given bus. In order to translate addresses upward (that is into parent bus addresses, and possibly into CPU physical addresses), all busses must contain a "ranges" property. If the "ranges" property is missing at a given level, it's assumed that -translation isn't possible. The format of the "ranges" property for a -bus is a list of: +translation isn't possible, i.e., the registers are not visible on the +parent bus. The format of the "ranges" property for a bus is a list +of: bus address, parent bus address, size @@ -735,6 +736,10 @@ fit in a single 32-bit word. New 32-bit powerpc boards should use a 1/1 format, unless the processor supports physical addresses greater than 32-bits, in which case a 2/1 format is recommended. +Alternatively, the "ranges" property may be empty, indicating that the +registers are visible on the parent bus using an identity mapping +translation. In other words, the parent bus address space is the same +as the child bus address space. 2) Note about "compatible" properties -------------------------------------