annotate venus/doc/Flash+RAM @ 98:3ab69117b09f default tip

minnie/doc/Design-spec: finished in the first pass
author Mychaela Falconia <falcon@freecalypso.org>
date Sun, 01 Oct 2023 08:17:05 +0000
parents e8ce3b688723
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
88
09cda55086b1 venus/doc/Flash+RAM written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
1 All historical Calypso phone or modem designs which we (FreeCalypso) consider
09cda55086b1 venus/doc/Flash+RAM written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
2 interesting enough to copy use a combined MCP (multi-chip package) for their
09cda55086b1 venus/doc/Flash+RAM written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
3 flash and XRAM, the latter being our term for board-level RAM, as opposed to the
09cda55086b1 venus/doc/Flash+RAM written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
4 relatively small IRAM inside the Calypso chip itself. The following Spansion
09cda55086b1 venus/doc/Flash+RAM written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
5 MCPs (all of them no longer made and available only from surplus, sadly) are
09cda55086b1 venus/doc/Flash+RAM written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
6 most interesting to us:
09cda55086b1 venus/doc/Flash+RAM written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
7
09cda55086b1 venus/doc/Flash+RAM written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
8 * S71PL032J (4 MiB flash, various RAM options) would be fine for an AT-command-
09cda55086b1 venus/doc/Flash+RAM written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
9 controlled modem like Openmoko - however, we are not building any such product
09cda55086b1 venus/doc/Flash+RAM written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
10 at the present, and this flash capacity is too small for the functionality
09cda55086b1 venus/doc/Flash+RAM written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
11 that must be supported on FC Venus.
09cda55086b1 venus/doc/Flash+RAM written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
12
09cda55086b1 venus/doc/Flash+RAM written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
13 * S71PL064J is 8 MiB flash with various RAM options; S71PL064JA0 is the version
09cda55086b1 venus/doc/Flash+RAM written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
14 with 2 MiB RAM. The latter part is used inside mass-produced iWOW TR-800
09cda55086b1 venus/doc/Flash+RAM written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
15 modules - there is a rumor that they may have used S71PL064JB0 initially,
09cda55086b1 venus/doc/Flash+RAM written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
16 with 4 MiB RAM, but then went down to 2 MiB - but S71PL064JA0 is the chip
09cda55086b1 venus/doc/Flash+RAM written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
17 inside those TR-800 modules which are presently available as a large surplus.
09cda55086b1 venus/doc/Flash+RAM written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
18 This chip seems ideal: 8 MiB flash + 2 MiB XRAM is sufficient memory capacity
09cda55086b1 venus/doc/Flash+RAM written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
19 for all TCS211 firmware configurations, and the physical footprint of 7x9 mm
09cda55086b1 venus/doc/Flash+RAM written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
20 is the smallest we've ever seen for such MCPs.
09cda55086b1 venus/doc/Flash+RAM written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
21
09cda55086b1 venus/doc/Flash+RAM written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
22 * S71PL129J and S71PL129N are 16 MiB flash families, presented as two flash chip
09cda55086b1 venus/doc/Flash+RAM written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
23 select banks of 8 MiB each, specifically made for use with processors like
09cda55086b1 venus/doc/Flash+RAM written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
24 Calypso that have a limit of 8 MiB per chip select. RAM options are
09cda55086b1 venus/doc/Flash+RAM written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
25 correspondingly large; the chip used on FCDEV3B (copied from Pirelli DP-L10)
09cda55086b1 venus/doc/Flash+RAM written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
26 is S71PL129NC0HFW4B, and the XRAM capacity is 8 MiB. Compared to S71PL-J
09cda55086b1 venus/doc/Flash+RAM written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
27 chips, S71PL129N has more stringent reset timing requirements; the impact on
09cda55086b1 venus/doc/Flash+RAM written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
28 Calypso-based designs is that Calypso FDP output cannot be used as the flash
09cda55086b1 venus/doc/Flash+RAM written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
29 reset signal, and a different circuit based on ON_nOFF signal is needed - and
09cda55086b1 venus/doc/Flash+RAM written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
30 the latter circuit requires adding one more little IC, Nexperia 74AXP1T34, a
09cda55086b1 venus/doc/Flash+RAM written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
31 dual supply translating buffer. The latter design with 74AXP1T34 has been
09cda55086b1 venus/doc/Flash+RAM written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
32 proven on FCDEV3B V2.
09cda55086b1 venus/doc/Flash+RAM written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
33
09cda55086b1 venus/doc/Flash+RAM written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
34 As far as FC Venus PCB design goes, meaning flash+RAM MCP footprint and the
09cda55086b1 venus/doc/Flash+RAM written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
35 flash reset circuit, the following options are up for consideration:
09cda55086b1 venus/doc/Flash+RAM written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
36
09cda55086b1 venus/doc/Flash+RAM written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
37 Option 1: copy the 7x9 mm MCP footprint from iWOW TR-800. This footprint
09cda55086b1 venus/doc/Flash+RAM written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
38 accommodates S71PL064J but not S71PL129J or N; because populating S71PL129N is
09cda55086b1 venus/doc/Flash+RAM written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
39 not possible on this footprint, flash reset can be sourced from Calypso FDP
09cda55086b1 venus/doc/Flash+RAM written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
40 output as was done in TI's original design.
09cda55086b1 venus/doc/Flash+RAM written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
41
09cda55086b1 venus/doc/Flash+RAM written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
42 Option 2: enlarge the MCP footprint to 8x11.6 mm with 8 extra mechanical-only
09cda55086b1 venus/doc/Flash+RAM written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
43 balls, but keep the old and simple reset circuit. This option will allow
09cda55086b1 venus/doc/Flash+RAM written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
44 populating either S71PL064J or S71PL129J, but not S71PL129N - the latter would
09cda55086b1 venus/doc/Flash+RAM written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
45 cause sleep mode problems and sometimes even boot problems as seen on FCDEV3B V1
09cda55086b1 venus/doc/Flash+RAM written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
46 where we made this mistake.
09cda55086b1 venus/doc/Flash+RAM written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
47
09cda55086b1 venus/doc/Flash+RAM written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
48 Option 3: use the larger MCP footprint for 16 MiB flash and also incorporate the
09cda55086b1 venus/doc/Flash+RAM written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
49 74AXP1T34 flash reset circuit from FCDEV3B V2. This option will allow any of
09cda55086b1 venus/doc/Flash+RAM written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
50 S71PL064J, S71PL129J or S71PL129N to be populated and work correctly.
09cda55086b1 venus/doc/Flash+RAM written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
51
09cda55086b1 venus/doc/Flash+RAM written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
52 The Mother's original plan for FC Venus was to do Option 1, but this plan is now
09cda55086b1 venus/doc/Flash+RAM written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
53 being changed to Option 3. The reasons for this change are:
09cda55086b1 venus/doc/Flash+RAM written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
54
09cda55086b1 venus/doc/Flash+RAM written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
55 * S71PL129NC0HFW4B parts are already on hand at FreeCalypso HQ, and have been
09cda55086b1 venus/doc/Flash+RAM written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
56 used successfully in FCDEV3B board builds. With Option 1 we would need to go
09cda55086b1 venus/doc/Flash+RAM written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
57 back to our Chinese grey market supplier and procure S71PL064J chips, and then
09cda55086b1 venus/doc/Flash+RAM written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
58 take the risk of possibly bad parts.
09cda55086b1 venus/doc/Flash+RAM written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
59
09cda55086b1 venus/doc/Flash+RAM written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
60 * For psychological reasons it is important for FC Venus to be a no-worse
09cda55086b1 venus/doc/Flash+RAM written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
61 successor to FCDEV3B. Even though 8 MiB flash + 2 MiB XRAM is perfectly
09cda55086b1 venus/doc/Flash+RAM written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
62 sufficient memory capacity for all of our fw configurations (and according to
09cda55086b1 venus/doc/Flash+RAM written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
63 TI's docs, it would be sufficient even for their pdt_2272 config with MMS
09cda55086b1 venus/doc/Flash+RAM written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
64 functionality, which we don't have), a reduction from FCDEV3B's 16 MiB flash +
09cda55086b1 venus/doc/Flash+RAM written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
65 8 MiB XRAM will undoubtedly be seen by some community members as a downgrade.
09cda55086b1 venus/doc/Flash+RAM written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
66 There is also potential value in being able to load and run non-flashed
09cda55086b1 venus/doc/Flash+RAM written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
67 fc-xram firmware builds, which is only possible with gigantic 8 MiB XRAM.
09cda55086b1 venus/doc/Flash+RAM written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
68
09cda55086b1 venus/doc/Flash+RAM written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
69 * Because *all* of our suitable Spansion MCP options are no-longer-made
09cda55086b1 venus/doc/Flash+RAM written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
70 surplus-only parts (much like the core Calypso chipset itself), it makes good
09cda55086b1 venus/doc/Flash+RAM written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
71 sense to design our PCB in such a way as to allow as many options as possible,
09cda55086b1 venus/doc/Flash+RAM written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
72 not excluding any otherwise suitable (and known) option through our PCB
09cda55086b1 venus/doc/Flash+RAM written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
73 design choices.
09cda55086b1 venus/doc/Flash+RAM written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
74
09cda55086b1 venus/doc/Flash+RAM written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
75 The downside of this chosen approach (compared to our original approach of
09cda55086b1 venus/doc/Flash+RAM written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
76 Option 1) is the increase in MCP BGA footprint, plus the little bit of extra
09cda55086b1 venus/doc/Flash+RAM written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
77 room needed for the 74AXP1T34 IC. The Leonardo core layout inside TR-800 is
09cda55086b1 venus/doc/Flash+RAM written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
78 very tight with no room for any extras, thus if we were seeking to clone or
09cda55086b1 venus/doc/Flash+RAM written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
79 semi-clone a Tango module, this increase in PCB real estate for the flash+RAM
09cda55086b1 venus/doc/Flash+RAM written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
80 MCP would not be acceptable. However, in the case of FC Venus, our core
09cda55086b1 venus/doc/Flash+RAM written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
81 shieldcan section already includes many additions beyond Leonardo/TR-800:
09cda55086b1 venus/doc/Flash+RAM written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
82 consider U401 through U404, all of which need to go into this expanded core
09cda55086b1 venus/doc/Flash+RAM written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
83 section. Thus if we are already expanding the core for other reasons, we should
09cda55086b1 venus/doc/Flash+RAM written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
84 be able to throw in this flash+RAM MCP expansion as well.
90
e8ce3b688723 venus/doc/Flash+RAM: R372 addition documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 88
diff changeset
85
e8ce3b688723 venus/doc/Flash+RAM: R372 addition documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 88
diff changeset
86 Reset circuit population option
e8ce3b688723 venus/doc/Flash+RAM: R372 addition documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 88
diff changeset
87 ===============================
e8ce3b688723 venus/doc/Flash+RAM: R372 addition documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 88
diff changeset
88
e8ce3b688723 venus/doc/Flash+RAM: R372 addition documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 88
diff changeset
89 If U303 is populated and R372 is unpopulated (necessary for S71PL129N MCP, the
e8ce3b688723 venus/doc/Flash+RAM: R372 addition documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 88
diff changeset
90 current plan for initial board build), the flash reset signal will be fed with
e8ce3b688723 venus/doc/Flash+RAM: R372 addition documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 88
diff changeset
91 ON_nOFF, translated to 2.8V via U303. However, if the populated MCP is S71PL-J,
e8ce3b688723 venus/doc/Flash+RAM: R372 addition documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 88
diff changeset
92 then there are two options:
e8ce3b688723 venus/doc/Flash+RAM: R372 addition documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 88
diff changeset
93
e8ce3b688723 venus/doc/Flash+RAM: R372 addition documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 88
diff changeset
94 * Flash reset may be generated "in the new way" like for S71PL129N, with U303
e8ce3b688723 venus/doc/Flash+RAM: R372 addition documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 88
diff changeset
95 populated and R372 unpopulated.
e8ce3b688723 venus/doc/Flash+RAM: R372 addition documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 88
diff changeset
96
e8ce3b688723 venus/doc/Flash+RAM: R372 addition documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 88
diff changeset
97 * If U303 is omitted and a 0R jumper is populated at R372 instead, the circuit
e8ce3b688723 venus/doc/Flash+RAM: R372 addition documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 88
diff changeset
98 reverts to TI's old way of using Calypso FDP for flash reset.
e8ce3b688723 venus/doc/Flash+RAM: R372 addition documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 88
diff changeset
99
e8ce3b688723 venus/doc/Flash+RAM: R372 addition documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 88
diff changeset
100 The unpopulated R372 footprint will also serve as a pair of test points for
e8ce3b688723 venus/doc/Flash+RAM: R372 addition documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 88
diff changeset
101 oscilloscope probing, allowing both Calypso FDP output and the actually-used
e8ce3b688723 venus/doc/Flash+RAM: R372 addition documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 88
diff changeset
102 output of U303 to be observed.