diff options
author | David Gibson <david@gibson.dropbear.id.au> | 2007-06-13 14:52:59 +1000 |
---|---|---|
committer | Paul Mackerras <paulus@samba.org> | 2007-06-14 22:30:16 +1000 |
commit | b2ba34f370a66d9ed4bbd440e45296ecf3e267d3 (patch) | |
tree | 9a743c7b356f5ceba15b3008588126fdced94fb8 /arch/powerpc/boot/44x.h | |
parent | 11123346bfba8e65631957c6c25ed1a6ca1b4ffe (diff) | |
download | kernel_samsung_tuna-b2ba34f370a66d9ed4bbd440e45296ecf3e267d3.zip kernel_samsung_tuna-b2ba34f370a66d9ed4bbd440e45296ecf3e267d3.tar.gz kernel_samsung_tuna-b2ba34f370a66d9ed4bbd440e45296ecf3e267d3.tar.bz2 |
[POWERPC] Derive ebc ranges property from EBC registers
In the device tree for Ebony, the 'ranges' property in the node for
the EBC bridge shows the mappings from the chip select / address lines
actually used for the EBC peripherals into the address space of the
OPB. At present, these mappings are hardcoded in ebony.dts for the
mappings set up by the OpenBIOS firmware when it configures the EBC
bridge.
This replaces the hardcoded mappings with code in the zImage to
read the EBC configuration registers and create an appropriate ranges
property based on them. This should make the zImage and kernel more
robust to changes in firmware configuration. In particular, some of
the Ebony's DIP switches can change the effective address of the Flash
and other peripherals in OPB space. With this patch, the kernel will
be able to cope with at least some of the possible variations.
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Signed-off-by: Paul Mackerras <paulus@samba.org>
Diffstat (limited to 'arch/powerpc/boot/44x.h')
-rw-r--r-- | arch/powerpc/boot/44x.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/arch/powerpc/boot/44x.h b/arch/powerpc/boot/44x.h index 0da4abf..577982c 100644 --- a/arch/powerpc/boot/44x.h +++ b/arch/powerpc/boot/44x.h @@ -11,6 +11,7 @@ #define _PPC_BOOT_44X_H_ void ibm44x_fixup_memsize(void); +void ibm4xx_fixup_ebc_ranges(const char *ebc); void ibm44x_dbcr_reset(void); void ebony_init(void *mac0, void *mac1); |