Forums - 4004 not finishing booting

5 posts / 0 new
Last post
4004 not finishing booting
imre.magyar
Join Date: 11 Apr 13
Posts: 3
Posted: Mon, 2014-11-03 09:06

Hi,

I’ve been spending some time getting our custom 4004-based hardware up and running, and have hit a bit of an obstacle.

First off, the 4004 powers up properly, and the supplied driver code is fine up to the point where the Driver_BootComm() function is called to verify and configure the “host interest area” on the chip. As far as the SPI host interface goes, I know that all is fine because I read values the driver expects, and if I read back the ones that it writes, I read back what I wrote.

The last thing that function does is to write a 0x00000002 to the host interest “hi_option_flag” field, after which the 4004 is supposed to load its firmware image from the external flash, and then de-assert the SPI_INT line to indicate that it’s successfully booted. My problem is that the interrupt never comes, with the SPI_INT line being permanently stuck high.

Does anyone have any ideas as to what might be happening, or how to diagnose it further?

One obvious possibility is that the firmware image isn't valid.

I’m using the ART tool to program the image I read out of the SP144 into our own board, so it ought to be ok.

We didn't use the Winbond SPI flash in our design, but another 4Mb quad-spi part from Spansion that looked compatible. But that could be a factor too I suppose.

I'd be grateful for any suggestions!

 

 

  • Up0
  • Down0
OranGu
Profile picture
Join Date: 10 Oct 14
Location: San Jose
Posts: 33
Posted: Mon, 2014-11-03 10:33

Hi , 

By this sentence imagine you developed a new board and your BOM includes a new blank QCA4004 and a new SPI flash: 

"We didn't use the Winbond SPI flash in our design, but another 4Mb quad-spi part from Spansion that looked compatible. But that could be a factor too I suppose."

You will need to burn several stuff in the OTP (one-time-programming) 

I suggest trying first using the Legacy SPI flash mode (single line instead of Quad).

You will need to burn a corespanding Legacy Flash image , 

Note that your board will not be RF calibrated but you will be able to use it if your AP is in the same room\cube.

You can read the OTP content from you original SP144 and your new Board by :

"od" [parsed format] or 

"or a=0:200" [raw format] 

 

hope this helps .

Oran 

 

  • Up0
  • Down0
imre.magyar
Join Date: 11 Apr 13
Posts: 3
Posted: Mon, 2014-11-03 13:19

Hi Oran,

But is there anything in the OTP area that would keep the flash-based firmware from running and sending the WMI-Ready message? I thought it's just RF calibaration data that's in there.

And why exactly are there different versions of both the OTP and firmware images for both quad-spi and legacy flashes? Why is the data different?

  • Up0
  • Down0
OranGu
Profile picture
Join Date: 10 Oct 14
Location: San Jose
Posts: 33
Posted: Mon, 2014-11-03 14:51

Hi , 

Sorry, I'm not sure I can answer this question in this Foum. (need to check with Legal) 

Can you send me an email privatlly ? email: [email protected] 

Do you have an NDA ? 

 

BR,

Oran 

  • Up0
  • Down0
imre.magyar
Join Date: 11 Apr 13
Posts: 3
Posted: Tue, 2014-11-04 12:10

Hi Oran,

I sent  you a PM as you asked.

By the way, QC supplied several OTP image files, but they're all 192KB. If I try to program one of these with ART, it tells me that the file is too large, and that "Max stream size if 1024".

Is there a workaround for this?

And can you tell me what the command is for extracting the existing OTP image out of an SP144 and saving it to an image file? Will that be of the right size?

Incidentally, I put probes on the SPI interface between the flash and the 4004. I see the lines toggle as expected if I'm using ART to access the flash, but when the device is initialized by the host driver, I see no accesses to the flash at all.

  • Up0
  • Down0
or Register

Opinions expressed in the content posted here are the personal opinions of the original authors, and do not necessarily reflect those of Qualcomm Incorporated or its subsidiaries (“Qualcomm”). The content is provided for informational purposes only and is not meant to be an endorsement or representation by Qualcomm or any other party. This site may also provide links or references to non-Qualcomm sites and resources. Qualcomm makes no representations, warranties, or other commitments whatsoever about any non-Qualcomm sites or third-party resources that may be referenced, accessible from, or linked to this site.