
Hi Stefan,
This patch changes the behaviour of the fdt_fixup_nor_flash_node() function. Now it doesn't patch the size of the "reg" property with the chip-select size, but with the size returned from the new function flash_get_bank_size(). This function will return per weak default the flash size of the bank (bank = chip-select numer) detected by the flash driver. If this does not fit your needs, this function may be overridden by a board specific one.
For this the parameters needed to be changed. So I intentionally squashed the PPC4xx stuff using this routine into this patch. Otherwise it would not be git-bisectable anymore.
The board specific function for the AMCC/APM Ebony eval board is now included in this patch version.
Signed-off-by: Stefan Roese sr@denx.de Cc: Gerald Van Baren vanbaren@cideas.com Cc: Wolfgang Denk wd@denx.de
ppc4xx: Add board specific function to return the detected flash size
This function will be called to fixup size of the "reg" property of the NOR flash device tree nodes. Ebony can't use the weak default, since it has a special chip-select to bank-number binding.
I just tested top of tree of the ppc4xx repo with Linux-2.6.36-rc3 and it does not boot:
## Booting kernel from Legacy Image at 00400000 ... Image Name: Linux-2.6.36-rc3 Created: 2010-09-14 9:34:20 UTC Image Type: PowerPC Linux Kernel Image (gzip compressed) Data Size: 1660276 Bytes = 1.6 MiB Load Address: 00000000 Entry Point: 00000000 Verifying Checksum ... OK ## Flattened Device Tree blob at 00800000 Booting using the fdt blob at 0x800000 Uncompressing Kernel Image ... OK ¡¬Ëk½±[ttyS0] enabled, bootconsole disabled console [ttyS0] enabled, bootconsole disabled serial8250.0: ttyS1 at MMIO 0x140000300 (irq = 17) is a U6_16550A 140000200.serial: ttyS0 at MMIO 0x140000200 (irq = 16) is a 16550 140000300.serial: ttyS1 at MMIO 0x140000300 (irq = 17) is a 16550 brd: module loaded Found: AMD AM29F040 1fff80000.small-flash: Found 1 x8 devices at 0x0 in 8-bit bank Data machine check in kernel mode. Oops: Machine check, sig: 7 [#1] Ebony last sysfs file: Modules linked in: NIP: c01a5f50 LR: c01a6200 CTR: c01a60fc REGS: c7ffbf10 TRAP: 0202 Not tainted (2.6.36-rc3) MSR: 00029000 <EE,ME,CE> CR: 48e44f22 XER: 00000000 TASK = c7824000[1] 'swapper' THREAD: c7828000 GPR00: 000000aa c7829d20 c7824000 00080000 c799b318 c7829d68 00000555 00000555 GPR08: 00000001 d1100000 00000001 00080555 48e44f22 00000000 c02683e8 c02dfa80 GPR16: c02dfa8c c02e099c c02e0960 c02e08e8 c02683dc c02e004c c026716c c0267124 GPR24: c7829d68 c7ffed58 c79987e0 00000000 00080000 c799b318 00000001 c7829d68 NIP [c01a5f50] jedec_reset+0x234/0x3b4
What am I doing wrong?
Thanks Detlev