Re: address lines

M8 (Servaes Joordens)
2007-11-03T12:07:01Z

David,

Yes you did. I did the following:

- I changed the call to simple_map_init(xxx) in physmap.c to
my_simple_map_init(xxx)
- I add the bank-switching routines in physmap.c and link them via
my_simple_map_init(xxx)

I put an printk in every bank-switching routine. I does work properly in the begining, but then I get the following prints: (I added a printk in every function to check the caling order of things)

cfi_cmdset_001.c: cfi_intelext_point
cfi_cmdset_001.c: do_point_onechip
cfi_cmdset_001.c: get_chip
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00000000: 0x890a in
stead

I expected that prior to error-report a read or write action to the flash is done. In that case I should have seen an printk saying physmap.c:bank_switching_map_read or physmap.c:bank_switching_map_write.

Servaes

David Woodhouse wrote:
> On Sat, 2007-11-03 at 11:54 +0100, M8 (Servaes Joordens) wrote:
>
>> I took a closer look at the bank-switching problem. The situation is:
>>
>> - I have an 4Mb Flash chip MT28F320J3FS-11
>> - A0-A19 are connected to the data-bus
>> - A20 is connected to GPIO PF4
>>
>> So the hardware probe detects 4MB flash in 1 chip and tries to access
>> it
>> in a normal manner. How should I solve this? I got a patch from the
>> manufacturer of the hardware for the file cfi_cmdset_0001.c, but I do
>> wonder if that is the correct way to do it?
>>
>
> No, it isn't. The correct way to do it is a fairly trivial 'complex
> mapping' driver, which ensures that the GPIO is set appropriately for
> the high bit of the address, before each access. Didn't I already point
> you to examples?