public inbox for linux-mtd@lists.infradead.org
 help / color / mirror / Atom feed
* cfi_send_gen_cmd(0x98, 0x55, base, map, cfi, cfi->device_type, NULL); not workin
@ 2003-06-03  9:23 Vikram Mehta
  2003-06-03  9:40 ` David Woodhouse
  0 siblings, 1 reply; 4+ messages in thread
From: Vikram Mehta @ 2003-06-03  9:23 UTC (permalink / raw)
  To: linux-mtd; +Cc: uclinux-dev


Hi joern,
Thanx
I agree this format was confusing. So let me put it simply

in cfi_probe.c  in  cfi_probe_chip function

cfi_send_gen_cmd(0xF0, 0, base, map, cfi, cfi->device_type, NULL);
Works
but

cfi_send_gen_cmd(0x98, 0x55, base, map, cfi, cfi->device_type, NULL);
doesnot work.
It fails when   __raw_writew(d, map->map_priv_1 +adr); is called in its 
stack.

The stack built is (downwards)

cfi_send_gen_cmd
cfi_h_cfi_build_cmd
cfi_write
my_physmap_write16
__raw_writew(d, map->map_priv_1 +adr)



So what do u think. I hope it i s amore understandable format now.



>From: Jörn Engel <joern@wohnheim.fh-wedel.de>
>To: Vikram Mehta <vm6580@hotmail.com>
>CC: mtd <linux-mtd@lists.infradead.org>
>Subject: Re: cfi_probe_chip  problem
>Date: Tue, 3 Jun 2003 11:00:13 +0200
>
>On Tue, 3 June 2003 13:41:48 -0700, Vikram Mehta wrote:
> >
> >
> > Let me tell u in detail with a map
> > cfi_probe     calls
> >      cfi_probe_chip. calls
> >              cfi_send_gen_cmd calls
> >                               cfi_build_cmd
> >                             cfi_build_cmd  returns
> >        cfi_send_gen_cmd:   code
> >                         if (prev_val)
> >                      *prev_val = cfi_read(map, addr); doesnot satify
> >          cfi_send_gen_cmd     calls
> >                            cfi_write     The values called are  __u32
> > val=250 and __u32 addr = 0
> >                             cfi_write calls
> >                                    mymap->write16 calls
> >                                       __raw_writew(d, map->map_priv_1 +
> > adr);
> >                                        __raw_writew(d, map->map_priv_1 +
> > adr);      returns
> >                                      mymap->write16  returns
> >                            cfi_write retruns
> >         cfi_send_gen_cmd  returns
> > cfi_probe_chip again calls
> >                cfi_send_gen_cmd
> >                        .........similar to above stack
> >                               cfi_write     The values called are  __u32
> > val=152 and __u32 addr = 170
> > cfi_write calls
> >                                    mymap->write16 calls
> >                                        __raw_writew(d, map->map_priv_1 +
> > adr);
> >                                                         DOES NOT RETURN
> > Whay could be wrong here?
>
>You might be using a proportional font.  The result is completely
>unreadable for anyone else.  Set your font to courier and redraw.
>
>Jörn
>
>--
>Victory in war is not repetitious.
>-- Sun Tzu

_________________________________________________________________
HCL Beanstalk PCs. You could win one. 
http://server1.msn.co.in/sp03/hclbeanstalktour/index.asp Interested?

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: cfi_send_gen_cmd(0x98, 0x55, base, map, cfi, cfi->device_type, NULL); not workin
  2003-06-03  9:23 cfi_send_gen_cmd(0x98, 0x55, base, map, cfi, cfi->device_type, NULL); not workin Vikram Mehta
@ 2003-06-03  9:40 ` David Woodhouse
  2003-06-03 18:20   ` Andrew Goodney
  0 siblings, 1 reply; 4+ messages in thread
From: David Woodhouse @ 2003-06-03  9:40 UTC (permalink / raw)
  To: Vikram Mehta; +Cc: linux-mtd, uclinux-dev

On Tue, 2003-06-03 at 10:23, Vikram Mehta wrote:
> Hi joern,
> Thanx
> I agree this format was confusing. So let me put it simply
> 
> in cfi_probe.c  in  cfi_probe_chip function
> 
> cfi_send_gen_cmd(0xF0, 0, base, map, cfi, cfi->device_type, NULL);
> Works
> but
> 
> cfi_send_gen_cmd(0x98, 0x55, base, map, cfi, cfi->device_type, NULL);
> doesnot work.
> It fails when   __raw_writew(d, map->map_priv_1 +adr); is called in its 
> stack.

>From the Cc I'm inferring you're using uCLinux. Are you running with
your kernel in flash? Is your kernel in the _same_ flash chip as is
being probed here?

If so, it's not really surprising it doesn't work. As soon as you send
the '0x98' command, your entire kernel turns into the CFI query results
and it isn't really going to work too well :)

-- 
dwmw2

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: cfi_send_gen_cmd(0x98, 0x55, base, map, cfi, cfi->device_type, NULL); not workin
  2003-06-03  9:40 ` David Woodhouse
@ 2003-06-03 18:20   ` Andrew Goodney
  2003-06-04  8:15     ` David Woodhouse
  0 siblings, 1 reply; 4+ messages in thread
From: Andrew Goodney @ 2003-06-03 18:20 UTC (permalink / raw)
  To: Vikram Mehta; +Cc: linux-mtd, uclinux-dev

David Woodhouse wrote:

>On Tue, 2003-06-03 at 10:23, Vikram Mehta wrote:
>  
>
>>Hi joern,
>>Thanx
>>I agree this format was confusing. So let me put it simply
>>
>>in cfi_probe.c  in  cfi_probe_chip function
>>
>>cfi_send_gen_cmd(0xF0, 0, base, map, cfi, cfi->device_type, NULL);
>>Works
>>but
>>
>>cfi_send_gen_cmd(0x98, 0x55, base, map, cfi, cfi->device_type, NULL);
>>doesnot work.
>>It fails when   __raw_writew(d, map->map_priv_1 +adr); is called in its 
>>stack.
>>    
>>
>
>>From the Cc I'm inferring you're using uCLinux. Are you running with
>your kernel in flash? Is your kernel in the _same_ flash chip as is
>being probed here?
>
>If so, it's not really surprising it doesn't work. As soon as you send
>the '0x98' command, your entire kernel turns into the CFI query results
>and it isn't really going to work too well :)
>
>  
>
We had this problem as well on our uClinux systems. Once we changed to 
running the kernel out of RAM our chips were detected properly.

The uClinux archives have a large amount of information on how to get 
uClinux+MTD+JFFS(2) to play nicely together. I suggest searching the 
online archive, as the subject comes up very often on that list.

Good luck,
Andrew Goodney
andrew@blueskylabs.com
-----------------------
www.blueskylabs.com

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: cfi_send_gen_cmd(0x98, 0x55, base, map, cfi, cfi->device_type, NULL); not workin
  2003-06-03 18:20   ` Andrew Goodney
@ 2003-06-04  8:15     ` David Woodhouse
  0 siblings, 0 replies; 4+ messages in thread
From: David Woodhouse @ 2003-06-04  8:15 UTC (permalink / raw)
  To: Andrew Goodney; +Cc: linux-mtd, uclinux-dev

On Tue, 2003-06-03 at 19:20, Andrew Goodney wrote:
> David Woodhouse wrote:
> >If so, it's not really surprising it doesn't work. As soon as you send
> >the '0x98' command, your entire kernel turns into the CFI query results
> >and it isn't really going to work too well :)
> >
> We had this problem as well on our uClinux systems. Once we changed to 
> running the kernel out of RAM our chips were detected properly.
> 
> The uClinux archives have a large amount of information on how to get 
> uClinux+MTD+JFFS(2) to play nicely together. I suggest searching the 
> online archive, as the subject comes up very often on that list.

As it happens, Intel have recently sponsored some development work on
this. With a small amount of further arch-specific code, it should be
possible to get this to work. I'll be posting details to the list
shortly.

-- 
dwmw2

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2003-06-04  8:14 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2003-06-03  9:23 cfi_send_gen_cmd(0x98, 0x55, base, map, cfi, cfi->device_type, NULL); not workin Vikram Mehta
2003-06-03  9:40 ` David Woodhouse
2003-06-03 18:20   ` Andrew Goodney
2003-06-04  8:15     ` David Woodhouse

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox