diff options
author | Stephen Neuendorffer <stephen.neuendorffer@xilinx.com> | 2007-12-03 20:08:57 -0500 |
---|---|---|
committer | Paul Mackerras <paulus@samba.org> | 2007-12-05 22:44:30 -0500 |
commit | e1fd18656c2963e383d67b7006c0e06c9c1d9c79 (patch) | |
tree | 55dc58862eed2da3e9d82f43bd66496b362af3a4 | |
parent | 773f76b1601d53dc8485675736b845cc3644921a (diff) |
[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 <stephen.neuendorffer@xilinx.com>
Acked-by: David Gibson <david@gibson.dropbear.id.au>
Acked-by: Grant Likely <grant.likely@secretlab.ca>
Signed-off-by: Paul Mackerras <paulus@samba.org>
-rw-r--r-- | Documentation/powerpc/booting-without-of.txt | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/Documentation/powerpc/booting-without-of.txt b/Documentation/powerpc/booting-without-of.txt index e9a3cb1d6b06..7327f37d78f3 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 | |||
711 | like address space bits, you'll have to add a bus translator to the | 711 | like address space bits, you'll have to add a bus translator to the |
712 | prom_parse.c file of the recent kernels for your bus type. | 712 | prom_parse.c file of the recent kernels for your bus type. |
713 | 713 | ||
714 | The "reg" property only defines addresses and sizes (if #size-cells | 714 | The "reg" property only defines addresses and sizes (if #size-cells is |
715 | is non-0) within a given bus. In order to translate addresses upward | 715 | non-0) within a given bus. In order to translate addresses upward |
716 | (that is into parent bus addresses, and possibly into CPU physical | 716 | (that is into parent bus addresses, and possibly into CPU physical |
717 | addresses), all busses must contain a "ranges" property. If the | 717 | addresses), all busses must contain a "ranges" property. If the |
718 | "ranges" property is missing at a given level, it's assumed that | 718 | "ranges" property is missing at a given level, it's assumed that |
719 | translation isn't possible. The format of the "ranges" property for a | 719 | translation isn't possible, i.e., the registers are not visible on the |
720 | bus is a list of: | 720 | parent bus. The format of the "ranges" property for a bus is a list |
721 | of: | ||
721 | 722 | ||
722 | bus address, parent bus address, size | 723 | bus address, parent bus address, size |
723 | 724 | ||
@@ -735,6 +736,10 @@ fit in a single 32-bit word. New 32-bit powerpc boards should use a | |||
735 | 1/1 format, unless the processor supports physical addresses greater | 736 | 1/1 format, unless the processor supports physical addresses greater |
736 | than 32-bits, in which case a 2/1 format is recommended. | 737 | than 32-bits, in which case a 2/1 format is recommended. |
737 | 738 | ||
739 | Alternatively, the "ranges" property may be empty, indicating that the | ||
740 | registers are visible on the parent bus using an identity mapping | ||
741 | translation. In other words, the parent bus address space is the same | ||
742 | as the child bus address space. | ||
738 | 743 | ||
739 | 2) Note about "compatible" properties | 744 | 2) Note about "compatible" properties |
740 | ------------------------------------- | 745 | ------------------------------------- |