FreeCalypso > hg > fc-magnetite
comparison doc/FCDEV3B-hardware-bug @ 483:15c61c8f3166
doc/FCDEV3B-hardware-bug: update on the investigation and the proposed fix
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Wed, 20 Jun 2018 07:53:32 +0000 |
parents | 8fbf3c0ea8b6 |
children |
comparison
equal
deleted
inserted
replaced
482:ad7f986afae3 | 483:15c61c8f3166 |
---|---|
15 reset that happens as part of flash boot mode 1, the FDP output behaviour | 15 reset that happens as part of flash boot mode 1, the FDP output behaviour |
16 during that watchdog reset, and the flash chip's reaction to the latter. | 16 during that watchdog reset, and the flash chip's reaction to the latter. |
17 | 17 |
18 * On all of the boards there is a problem with sleep modes: when the firmware | 18 * On all of the boards there is a problem with sleep modes: when the firmware |
19 is running from flash as opposed to RAM, certain sleep-wake sequences cause | 19 is running from flash as opposed to RAM, certain sleep-wake sequences cause |
20 an erratic self-reboot or a hang. It is suspected (though not proven yet) | 20 an erratic self-reboot or a hang. Oscilloscope probing on a decased Pirelli |
21 that the FDP output goes low during all sleep modes, our Spansion flash chip | 21 DP-L10 motherboard on which Calypso's FDP output is accessible seems to |
22 gets unhappy with the reset timing it gets subjected to, and some flash reads | 22 confirm my (Mychaela's) suspicion that this FDP signal goes low during all |
23 (instruction fetches) don't work after wakeup. So far the only workable | 23 sleep modes, and the current working hypothesis is that our Spansion flash |
24 chip gets unhappy with the reset timing it gets subjected to, and some flash | |
25 reads (instruction fetches) don't work after wakeup. So far the only workable | |
24 solution has been to disable all sleep modes in all FCDEV3B fw builds; | 26 solution has been to disable all sleep modes in all FCDEV3B fw builds; |
25 nothing else has been successful. | 27 nothing else has been successful. However, re-enabling all of these sleep |
28 modes with AT%SLEEP=4 works fine when the firmware image executes out of RAM | |
29 instead of flash, further supporting our current working hypothesis as to the | |
30 root cause. | |
26 | 31 |
27 The fcdev3b-hacks directory contains two hacks that can be applied to FCDEV3B | 32 The fcdev3b-hacks directory contains two hacks that can be applied to FCDEV3B |
28 firmware images (fwimage.bin builds) as xxd binary patches: | 33 firmware images (fwimage.bin builds) as xxd binary patches: |
29 | 34 |
30 * The first hack dating from 2017-05 patches the fw to use flash boot mode 0 | 35 * The first hack dating from 2017-05 patches the fw to use flash boot mode 0 |
41 go away by having the Calypso execute some cycles out of its internal ROM and | 46 go away by having the Calypso execute some cycles out of its internal ROM and |
42 RAM before hitting the flash after wakeup, but nope, bringing up the SIM | 47 RAM before hitting the flash after wakeup, but nope, bringing up the SIM |
43 interface with AT+CFUN=1 in the l1reconst config when running from flash with | 48 interface with AT+CFUN=1 in the l1reconst config when running from flash with |
44 small sleep enabled still triggers erratic misbehaviour even with this patch. | 49 small sleep enabled still triggers erratic misbehaviour even with this patch. |
45 | 50 |
46 The proper fix will be to change the PCB to not connect the flash chip's reset | 51 The proper fix will require a new PCB spin to change the flash reset wiring: |
47 input to FDP any more, and connect it to a pull-up resistor instead. But this | 52 instead of driving it with Calypso's FDP output, use the ON_nOFF master reset |
48 fix will require an expensive PCB respin, hence some experiments to test this | 53 signal from Iota's VRPC block, fed through a logic voltage level translating |
49 idea will need to be done first. | 54 buffer to change it from 1.5 V to 2.8 V logic. The flash chip we are using has |
55 lower power consumption when it is NOT held in reset, hence unlike TI's intent | |
56 with FDP, we don't want our flash chip to go into reset during any sleep at all. | |
57 | |
58 The new PCB revision with this change is now in the process of being finalized, | |
59 and we will soon need the funding to produce the new boards. Anyone who is | |
60 interested in helping to make FCDEV3B V2 a reality should email Mychaela. |