FreeCalypso > hg > freecalypso-tools
annotate doc/Target-boot-control @ 1014:961efadd530a default tip
fc-shell TCH DL handler: add support for CSD modes
TCH DL capture mechanism in FC Tourmaline firmware has been extended
to support CSD modes in addition to speech - add the necessary support
on the host tools side.
It needs to be noted that this mechanism in its present state does NOT
provide the debug utility value that was sought: as we learned only
after the code was implemented, TI's DSP has a misfeature in that the
buffer we are reading (a_dd_0[]) is zeroed out when the IDS block
is enabled, i.e., we are reading all zeros and not the real DL bits
we were after. But since the code has already been written, we are
keeping it - perhaps we can do some tests with IDS disabled.
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Tue, 26 Nov 2024 06:27:43 +0000 |
parents | b0b6966fa62e |
children |
rev | line source |
---|---|
582
deda54106c0e
doc/Target-boot-control: first draft
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1 There is a new feature in loadtools (fc-loadtool & friends) and rvinterf as of |
738
f19d12f5756f
doc/Target-boot-control: updated for DUART28C
Mychaela Falconia <falcon@freecalypso.org>
parents:
585
diff
changeset
|
2 fc-host-tools-r12, actually functional as of fc-host-tools-r14: target boot |
f19d12f5756f
doc/Target-boot-control: updated for DUART28C
Mychaela Falconia <falcon@freecalypso.org>
parents:
585
diff
changeset
|
3 control. In a typical development environment where FC host tools run on a |
f19d12f5756f
doc/Target-boot-control: updated for DUART28C
Mychaela Falconia <falcon@freecalypso.org>
parents:
585
diff
changeset
|
4 general-purpose PC or laptop and communicate with various Calypso targets via |
f19d12f5756f
doc/Target-boot-control: updated for DUART28C
Mychaela Falconia <falcon@freecalypso.org>
parents:
585
diff
changeset
|
5 general-purpose serial or USB-serial ports, adapters and cables, there is |
f19d12f5756f
doc/Target-boot-control: updated for DUART28C
Mychaela Falconia <falcon@freecalypso.org>
parents:
585
diff
changeset
|
6 generally no way for the host computer running FC host tools to directly command |
f19d12f5756f
doc/Target-boot-control: updated for DUART28C
Mychaela Falconia <falcon@freecalypso.org>
parents:
585
diff
changeset
|
7 the Calypso target to power on and/or reboot - instead such control must be |
f19d12f5756f
doc/Target-boot-control: updated for DUART28C
Mychaela Falconia <falcon@freecalypso.org>
parents:
585
diff
changeset
|
8 performed "out of band" by the operator pressing the PWON or RESET button on |
f19d12f5756f
doc/Target-boot-control: updated for DUART28C
Mychaela Falconia <falcon@freecalypso.org>
parents:
585
diff
changeset
|
9 the target device; some targets may even require complex battery manipulations. |
f19d12f5756f
doc/Target-boot-control: updated for DUART28C
Mychaela Falconia <falcon@freecalypso.org>
parents:
585
diff
changeset
|
10 However, there may be more elaborate (less casual) setups where FC host tools |
f19d12f5756f
doc/Target-boot-control: updated for DUART28C
Mychaela Falconia <falcon@freecalypso.org>
parents:
585
diff
changeset
|
11 run on a special kind of host system which does have some means to directly |
f19d12f5756f
doc/Target-boot-control: updated for DUART28C
Mychaela Falconia <falcon@freecalypso.org>
parents:
585
diff
changeset
|
12 control power and reset to an associated Calypso target: |
582
deda54106c0e
doc/Target-boot-control: first draft
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
13 |
738
f19d12f5756f
doc/Target-boot-control: updated for DUART28C
Mychaela Falconia <falcon@freecalypso.org>
parents:
585
diff
changeset
|
14 * Our new FreeCalypso DUART28 adapter available as of 2020-09 has an optional |
f19d12f5756f
doc/Target-boot-control: updated for DUART28C
Mychaela Falconia <falcon@freecalypso.org>
parents:
585
diff
changeset
|
15 provision (requires additional wire connections and a custom patch to Linux |
f19d12f5756f
doc/Target-boot-control: updated for DUART28C
Mychaela Falconia <falcon@freecalypso.org>
parents:
585
diff
changeset
|
16 kernel ftdi_sio driver) for controlling Calypso target board PWON and RESET |
f19d12f5756f
doc/Target-boot-control: updated for DUART28C
Mychaela Falconia <falcon@freecalypso.org>
parents:
585
diff
changeset
|
17 with otherwise unused secondary channel RTS and DTR outputs - see the new |
f19d12f5756f
doc/Target-boot-control: updated for DUART28C
Mychaela Falconia <falcon@freecalypso.org>
parents:
585
diff
changeset
|
18 DUART28-boot-control article for the details. |
f19d12f5756f
doc/Target-boot-control: updated for DUART28C
Mychaela Falconia <falcon@freecalypso.org>
parents:
585
diff
changeset
|
19 |
f19d12f5756f
doc/Target-boot-control: updated for DUART28C
Mychaela Falconia <falcon@freecalypso.org>
parents:
585
diff
changeset
|
20 * The Mother has a plan to produce another custom FT2232D-based adapter called |
f19d12f5756f
doc/Target-boot-control: updated for DUART28C
Mychaela Falconia <falcon@freecalypso.org>
parents:
585
diff
changeset
|
21 FC-UJA, standing for FreeCalypso UART+JTAG Adapter. This FC-UJA will be a |
f19d12f5756f
doc/Target-boot-control: updated for DUART28C
Mychaela Falconia <falcon@freecalypso.org>
parents:
585
diff
changeset
|
22 special FT2232D adapter whose Channel A will operate in MPSSE mode, connecting |
f19d12f5756f
doc/Target-boot-control: updated for DUART28C
Mychaela Falconia <falcon@freecalypso.org>
parents:
585
diff
changeset
|
23 to the Calypso target's JTAG and nTESTRESET signals, whereas Channel B will |
f19d12f5756f
doc/Target-boot-control: updated for DUART28C
Mychaela Falconia <falcon@freecalypso.org>
parents:
585
diff
changeset
|
24 act as a standard UART, i.e., a ttyUSB device. This FC-UJA needs to be built |
f19d12f5756f
doc/Target-boot-control: updated for DUART28C
Mychaela Falconia <falcon@freecalypso.org>
parents:
585
diff
changeset
|
25 as a prerequisite before embarking on the ambitious HSMBP (Handset Motherboard |
f19d12f5756f
doc/Target-boot-control: updated for DUART28C
Mychaela Falconia <falcon@freecalypso.org>
parents:
585
diff
changeset
|
26 Prototype) project, as the special adapter will be required for working with |
f19d12f5756f
doc/Target-boot-control: updated for DUART28C
Mychaela Falconia <falcon@freecalypso.org>
parents:
585
diff
changeset
|
27 the HSMBP in development. When FC-UJA becomes a reality, FC host tools |
f19d12f5756f
doc/Target-boot-control: updated for DUART28C
Mychaela Falconia <falcon@freecalypso.org>
parents:
585
diff
changeset
|
28 running on a development host with this adapter will need to be given the |
f19d12f5756f
doc/Target-boot-control: updated for DUART28C
Mychaela Falconia <falcon@freecalypso.org>
parents:
585
diff
changeset
|
29 ability to issue nTESTRESET pulses to the target through the adapter's |
f19d12f5756f
doc/Target-boot-control: updated for DUART28C
Mychaela Falconia <falcon@freecalypso.org>
parents:
585
diff
changeset
|
30 MPSSE+GPIO channel; this nTESTRESET pulse will cause the Calypso target to |
f19d12f5756f
doc/Target-boot-control: updated for DUART28C
Mychaela Falconia <falcon@freecalypso.org>
parents:
585
diff
changeset
|
31 deep-reset, power on and boot. |
582
deda54106c0e
doc/Target-boot-control: first draft
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
32 |
deda54106c0e
doc/Target-boot-control: first draft
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
33 * FC host tools (particularly fc-loadtool) may run on the application processor |
deda54106c0e
doc/Target-boot-control: first draft
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
34 of a smartphone such as Openmoko GTA02. In such environments the AP will have |
deda54106c0e
doc/Target-boot-control: first draft
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
35 special ad hoc control signals (typically GPIOs) to the modem, at the minimum |
deda54106c0e
doc/Target-boot-control: first draft
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
36 controlling the modem's PWON line. OM GTA02 added an overriding control of |
deda54106c0e
doc/Target-boot-control: first draft
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
37 overall power to the modem; other designs may reasonably add control of the |
deda54106c0e
doc/Target-boot-control: first draft
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
38 modem's RESET line. |
deda54106c0e
doc/Target-boot-control: first draft
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
39 |
deda54106c0e
doc/Target-boot-control: first draft
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
40 * There may be special commercial applications in which one or more Calypso |
deda54106c0e
doc/Target-boot-control: first draft
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
41 modems are subservient to a control processor that acts similarly to the AP |
deda54106c0e
doc/Target-boot-control: first draft
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
42 of a smartphone, with that control processor not only communicating with its |
deda54106c0e
doc/Target-boot-control: first draft
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
43 slave modems via UARTs, but also controlling their power and reset. |
deda54106c0e
doc/Target-boot-control: first draft
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
44 |
deda54106c0e
doc/Target-boot-control: first draft
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
45 Where does the desire for target boot control in loadtools and rvinterf come |
deda54106c0e
doc/Target-boot-control: first draft
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
46 from? Consider the conventional usage model where no target boot control |
deda54106c0e
doc/Target-boot-control: first draft
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
47 exists: you first run fc-loadtool or fc-iram or fc-xram or rvinterf on your |
deda54106c0e
doc/Target-boot-control: first draft
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
48 target /dev/ttyXXX, then press the PWON or RESET button on the target. Now |
deda54106c0e
doc/Target-boot-control: first draft
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
49 suppose that the finger-actuated button has been replaced with some magic |
deda54106c0e
doc/Target-boot-control: first draft
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
50 command that can be executed on the host system to produce the same effect - |
deda54106c0e
doc/Target-boot-control: first draft
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
51 now what? If the usage model stays the same, then you have to first run your |
deda54106c0e
doc/Target-boot-control: first draft
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
52 fc-loadtool or fc-iram or fc-xram or rvinterf command same as before, then as |
deda54106c0e
doc/Target-boot-control: first draft
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
53 it sits there waiting for the target to boot, you have to open another terminal |
deda54106c0e
doc/Target-boot-control: first draft
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
54 window, get another ssh session into the system or whatever, and run the magic |
deda54106c0e
doc/Target-boot-control: first draft
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
55 command that replaces the manual button press. Very cumbersome, hence the |
deda54106c0e
doc/Target-boot-control: first draft
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
56 desire for a better way. |
deda54106c0e
doc/Target-boot-control: first draft
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
57 |
deda54106c0e
doc/Target-boot-control: first draft
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
58 Support for target boot control in FC host tools consists of a new -P option |
deda54106c0e
doc/Target-boot-control: first draft
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
59 implemented in all of loadtools programs and in rvinterf, as well as a special |
738
f19d12f5756f
doc/Target-boot-control: updated for DUART28C
Mychaela Falconia <falcon@freecalypso.org>
parents:
585
diff
changeset
|
60 configuration file which needs to be manually created if external boot control |
f19d12f5756f
doc/Target-boot-control: updated for DUART28C
Mychaela Falconia <falcon@freecalypso.org>
parents:
585
diff
changeset
|
61 commands are to be used. There are two target boot control models, built-in |
f19d12f5756f
doc/Target-boot-control: updated for DUART28C
Mychaela Falconia <falcon@freecalypso.org>
parents:
585
diff
changeset
|
62 and external: |
582
deda54106c0e
doc/Target-boot-control: first draft
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
63 |
956
b0b6966fa62e
doc/Target-boot-control: update for -Petmoff
Mychaela Falconia <falcon@freecalypso.org>
parents:
738
diff
changeset
|
64 * Built-in target boot control integrated into FC host tools themselves - the |
b0b6966fa62e
doc/Target-boot-control: update for -Petmoff
Mychaela Falconia <falcon@freecalypso.org>
parents:
738
diff
changeset
|
65 only currently implemented methods are: |
b0b6966fa62e
doc/Target-boot-control: update for -Petmoff
Mychaela Falconia <falcon@freecalypso.org>
parents:
738
diff
changeset
|
66 |
b0b6966fa62e
doc/Target-boot-control: update for -Petmoff
Mychaela Falconia <falcon@freecalypso.org>
parents:
738
diff
changeset
|
67 - DTR/RTS pulsing method implemented on our DUART28 adapter: -Pdtr means |
b0b6966fa62e
doc/Target-boot-control: update for -Petmoff
Mychaela Falconia <falcon@freecalypso.org>
parents:
738
diff
changeset
|
68 pulse DTR and -Prts means pulse RTS. Please refer to DUART28-boot-control |
b0b6966fa62e
doc/Target-boot-control: update for -Petmoff
Mychaela Falconia <falcon@freecalypso.org>
parents:
738
diff
changeset
|
69 article for the details. |
b0b6966fa62e
doc/Target-boot-control: update for -Petmoff
Mychaela Falconia <falcon@freecalypso.org>
parents:
738
diff
changeset
|
70 |
b0b6966fa62e
doc/Target-boot-control: update for -Petmoff
Mychaela Falconia <falcon@freecalypso.org>
parents:
738
diff
changeset
|
71 - Aid for working with the Pirelli DP-L10 target: -Petmoff boot control mode |
b0b6966fa62e
doc/Target-boot-control: update for -Petmoff
Mychaela Falconia <falcon@freecalypso.org>
parents:
738
diff
changeset
|
72 described in the new Pirelli-loadtools-entry article. |
738
f19d12f5756f
doc/Target-boot-control: updated for DUART28C
Mychaela Falconia <falcon@freecalypso.org>
parents:
585
diff
changeset
|
73 |
f19d12f5756f
doc/Target-boot-control: updated for DUART28C
Mychaela Falconia <falcon@freecalypso.org>
parents:
585
diff
changeset
|
74 * In the other case of external boot control commands, there exist one or more |
f19d12f5756f
doc/Target-boot-control: updated for DUART28C
Mychaela Falconia <falcon@freecalypso.org>
parents:
585
diff
changeset
|
75 "magic commands": a magic command is any shell command (anything that can be |
f19d12f5756f
doc/Target-boot-control: updated for DUART28C
Mychaela Falconia <falcon@freecalypso.org>
parents:
585
diff
changeset
|
76 passed to /bin/sh -c) whose execution causes a connected Calypso target device |
f19d12f5756f
doc/Target-boot-control: updated for DUART28C
Mychaela Falconia <falcon@freecalypso.org>
parents:
585
diff
changeset
|
77 to power on and boot. Naturally these commands will be very specific to your |
f19d12f5756f
doc/Target-boot-control: updated for DUART28C
Mychaela Falconia <falcon@freecalypso.org>
parents:
585
diff
changeset
|
78 custom system; they are NOT part of FC host tools! |
582
deda54106c0e
doc/Target-boot-control: first draft
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
79 |
deda54106c0e
doc/Target-boot-control: first draft
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
80 * These magic commands may be long, and requiring the user to include each magic |
deda54106c0e
doc/Target-boot-control: first draft
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
81 command in full on fc-loadtool, rvinterf etc invokation lines is undesirable. |
deda54106c0e
doc/Target-boot-control: first draft
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
82 To save typing, we associate a short name (which you choose yourself as you |
deda54106c0e
doc/Target-boot-control: first draft
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
83 see fit) with each magic command, and we have a configuration file (which you |
deda54106c0e
doc/Target-boot-control: first draft
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
84 need to create) that defines the mapping. |
deda54106c0e
doc/Target-boot-control: first draft
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
85 |
deda54106c0e
doc/Target-boot-control: first draft
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
86 * The argument to the new -P option is the short name to be looked up in the |
956
b0b6966fa62e
doc/Target-boot-control: update for -Petmoff
Mychaela Falconia <falcon@freecalypso.org>
parents:
738
diff
changeset
|
87 configuration file. (Built-in boot control names 'dtr', 'rts' and 'etmoff' |
b0b6966fa62e
doc/Target-boot-control: update for -Petmoff
Mychaela Falconia <falcon@freecalypso.org>
parents:
738
diff
changeset
|
88 are reserved and cannot be used for external boot control commands.) |
582
deda54106c0e
doc/Target-boot-control: first draft
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
89 |
deda54106c0e
doc/Target-boot-control: first draft
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
90 The configuration file needs to be created in /opt/freecalypso/bootctrl.conf; |
deda54106c0e
doc/Target-boot-control: first draft
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
91 let us illustrate it with some examples. |
deda54106c0e
doc/Target-boot-control: first draft
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
92 |
deda54106c0e
doc/Target-boot-control: first draft
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
93 Example 1: FC-UJA |
deda54106c0e
doc/Target-boot-control: first draft
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
94 ================= |
deda54106c0e
doc/Target-boot-control: first draft
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
95 |
deda54106c0e
doc/Target-boot-control: first draft
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
96 When FC-UJA becomes a reality, there will be a program called fc-testreset that |
deda54106c0e
doc/Target-boot-control: first draft
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
97 will locate the attached FC-UJA by its USB ID, connect to FT2232D Channel A and |
deda54106c0e
doc/Target-boot-control: first draft
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
98 generate the desired reset pulse on its output. The configuration in |
deda54106c0e
doc/Target-boot-control: first draft
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
99 /opt/freecalypso/bootctrl.conf may look as follows: |
deda54106c0e
doc/Target-boot-control: first draft
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
100 |
deda54106c0e
doc/Target-boot-control: first draft
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
101 uja fc-testreset |
deda54106c0e
doc/Target-boot-control: first draft
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
102 |
deda54106c0e
doc/Target-boot-control: first draft
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
103 This configuration associates boot control name 'uja' with shell command |
deda54106c0e
doc/Target-boot-control: first draft
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
104 fc-testreset. A developer would then run fc-loadtool like this: |
deda54106c0e
doc/Target-boot-control: first draft
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
105 |
deda54106c0e
doc/Target-boot-control: first draft
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
106 fc-loadtool -h fcfam -Puja /dev/ttyUSB0 |
deda54106c0e
doc/Target-boot-control: first draft
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
107 |
deda54106c0e
doc/Target-boot-control: first draft
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
108 if ttyUSB0 is where FC-UJA's UART channel ended up. fc-loadtool would run |
deda54106c0e
doc/Target-boot-control: first draft
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
109 normally, sending beacons to /dev/ttyUSB0 and waiting for a Calypso boot ROM |
deda54106c0e
doc/Target-boot-control: first draft
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
110 response, but it would also execute the fc-testreset command listed in the |
deda54106c0e
doc/Target-boot-control: first draft
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
111 configuration file, and if everything is connected correctly, the resulting |
deda54106c0e
doc/Target-boot-control: first draft
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
112 nTESTRESET pulse will cause the target to boot. |
deda54106c0e
doc/Target-boot-control: first draft
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
113 |
deda54106c0e
doc/Target-boot-control: first draft
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
114 The possibility of a single host talking to multiple Calypso targets is fully |
deda54106c0e
doc/Target-boot-control: first draft
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
115 supported: if you have multiple FC-UJA adapters with different USB descriptor |
deda54106c0e
doc/Target-boot-control: first draft
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
116 serial numbers programmed in their EEPROMs connected to respective Calypso |
deda54106c0e
doc/Target-boot-control: first draft
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
117 targets, you could have a /opt/freecalypso/bootctrl.conf setup like this: |
deda54106c0e
doc/Target-boot-control: first draft
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
118 |
deda54106c0e
doc/Target-boot-control: first draft
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
119 uja1 fc-testreset -d serial1 |
deda54106c0e
doc/Target-boot-control: first draft
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
120 uja2 fc-testreset -d serial2 |
deda54106c0e
doc/Target-boot-control: first draft
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
121 |
deda54106c0e
doc/Target-boot-control: first draft
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
122 and then run fc-loadtool accordingly: |
deda54106c0e
doc/Target-boot-control: first draft
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
123 |
deda54106c0e
doc/Target-boot-control: first draft
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
124 fc-loadtool -h fcfam -Puja1 /dev/ttyUSB3 |
deda54106c0e
doc/Target-boot-control: first draft
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
125 fc-loadtool -h fcfam -Puja2 /dev/ttyUSB4 |
585
d3e2b23ebf1d
doc/Target-boot-control: finished for now
Mychaela Falconia <falcon@freecalypso.org>
parents:
582
diff
changeset
|
126 |
d3e2b23ebf1d
doc/Target-boot-control: finished for now
Mychaela Falconia <falcon@freecalypso.org>
parents:
582
diff
changeset
|
127 Example 2: Openmoko GTA02 |
d3e2b23ebf1d
doc/Target-boot-control: finished for now
Mychaela Falconia <falcon@freecalypso.org>
parents:
582
diff
changeset
|
128 ========================= |
d3e2b23ebf1d
doc/Target-boot-control: finished for now
Mychaela Falconia <falcon@freecalypso.org>
parents:
582
diff
changeset
|
129 |
d3e2b23ebf1d
doc/Target-boot-control: finished for now
Mychaela Falconia <falcon@freecalypso.org>
parents:
582
diff
changeset
|
130 There is a modem-power-ctrl.sh script provided in the openmoko directory of this |
d3e2b23ebf1d
doc/Target-boot-control: finished for now
Mychaela Falconia <falcon@freecalypso.org>
parents:
582
diff
changeset
|
131 FC host tools package; if you are going to run fc-loadtool on the application |
d3e2b23ebf1d
doc/Target-boot-control: finished for now
Mychaela Falconia <falcon@freecalypso.org>
parents:
582
diff
changeset
|
132 processor of your GTA02 smartphone, you should install this script in some |
d3e2b23ebf1d
doc/Target-boot-control: finished for now
Mychaela Falconia <falcon@freecalypso.org>
parents:
582
diff
changeset
|
133 sensible location such as /usr/local/sbin/modem-power-ctrl. Then fill in your |
d3e2b23ebf1d
doc/Target-boot-control: finished for now
Mychaela Falconia <falcon@freecalypso.org>
parents:
582
diff
changeset
|
134 /opt/freecalypso/bootctrl.conf file as follows: |
d3e2b23ebf1d
doc/Target-boot-control: finished for now
Mychaela Falconia <falcon@freecalypso.org>
parents:
582
diff
changeset
|
135 |
d3e2b23ebf1d
doc/Target-boot-control: finished for now
Mychaela Falconia <falcon@freecalypso.org>
parents:
582
diff
changeset
|
136 lm /usr/local/sbin/modem-power-ctrl boot |
d3e2b23ebf1d
doc/Target-boot-control: finished for now
Mychaela Falconia <falcon@freecalypso.org>
parents:
582
diff
changeset
|
137 |
d3e2b23ebf1d
doc/Target-boot-control: finished for now
Mychaela Falconia <falcon@freecalypso.org>
parents:
582
diff
changeset
|
138 The name 'lm' stands for "local modem"; you can then run fc-loadtool as follows: |
d3e2b23ebf1d
doc/Target-boot-control: finished for now
Mychaela Falconia <falcon@freecalypso.org>
parents:
582
diff
changeset
|
139 |
d3e2b23ebf1d
doc/Target-boot-control: finished for now
Mychaela Falconia <falcon@freecalypso.org>
parents:
582
diff
changeset
|
140 fc-loadtool -h fic -Plm /dev/ttySAC0 |
d3e2b23ebf1d
doc/Target-boot-control: finished for now
Mychaela Falconia <falcon@freecalypso.org>
parents:
582
diff
changeset
|
141 |
d3e2b23ebf1d
doc/Target-boot-control: finished for now
Mychaela Falconia <falcon@freecalypso.org>
parents:
582
diff
changeset
|
142 Change from the past |
d3e2b23ebf1d
doc/Target-boot-control: finished for now
Mychaela Falconia <falcon@freecalypso.org>
parents:
582
diff
changeset
|
143 ==================== |
d3e2b23ebf1d
doc/Target-boot-control: finished for now
Mychaela Falconia <falcon@freecalypso.org>
parents:
582
diff
changeset
|
144 |
d3e2b23ebf1d
doc/Target-boot-control: finished for now
Mychaela Falconia <falcon@freecalypso.org>
parents:
582
diff
changeset
|
145 Back in 2013 the predecessor to our current FC host tools package was just |
d3e2b23ebf1d
doc/Target-boot-control: finished for now
Mychaela Falconia <falcon@freecalypso.org>
parents:
582
diff
changeset
|
146 loadtools, and we had a special configuration for building our loadtools to run |
d3e2b23ebf1d
doc/Target-boot-control: finished for now
Mychaela Falconia <falcon@freecalypso.org>
parents:
582
diff
changeset
|
147 on the GTA02 AP. But it worked backwards relative to our current arrangement: |
d3e2b23ebf1d
doc/Target-boot-control: finished for now
Mychaela Falconia <falcon@freecalypso.org>
parents:
582
diff
changeset
|
148 the current sensible arrangement is that a tool like fc-loadtool run without |
d3e2b23ebf1d
doc/Target-boot-control: finished for now
Mychaela Falconia <falcon@freecalypso.org>
parents:
582
diff
changeset
|
149 any special options simply operates on the specified serial port without any |
d3e2b23ebf1d
doc/Target-boot-control: finished for now
Mychaela Falconia <falcon@freecalypso.org>
parents:
582
diff
changeset
|
150 special magic, and if special magic is desired, it needs to be requested |
d3e2b23ebf1d
doc/Target-boot-control: finished for now
Mychaela Falconia <falcon@freecalypso.org>
parents:
582
diff
changeset
|
151 explicitly with the new -P option; the old loadtools-on-GTA02-AP arrangement |
d3e2b23ebf1d
doc/Target-boot-control: finished for now
Mychaela Falconia <falcon@freecalypso.org>
parents:
582
diff
changeset
|
152 was the opposite: you needed to specify -n to get "regular" operation, otherwise |
d3e2b23ebf1d
doc/Target-boot-control: finished for now
Mychaela Falconia <falcon@freecalypso.org>
parents:
582
diff
changeset
|
153 the tools would automatically operate the modem power control. |
d3e2b23ebf1d
doc/Target-boot-control: finished for now
Mychaela Falconia <falcon@freecalypso.org>
parents:
582
diff
changeset
|
154 |
d3e2b23ebf1d
doc/Target-boot-control: finished for now
Mychaela Falconia <falcon@freecalypso.org>
parents:
582
diff
changeset
|
155 Now that we support many more different Calypso hardware targets than we even |
d3e2b23ebf1d
doc/Target-boot-control: finished for now
Mychaela Falconia <falcon@freecalypso.org>
parents:
582
diff
changeset
|
156 knew about in 2013-2014, a cleanup has been long overdue. The new arrangement |
d3e2b23ebf1d
doc/Target-boot-control: finished for now
Mychaela Falconia <falcon@freecalypso.org>
parents:
582
diff
changeset
|
157 as of fc-host-tools-r12 cleans up the mess in several ways: |
d3e2b23ebf1d
doc/Target-boot-control: finished for now
Mychaela Falconia <falcon@freecalypso.org>
parents:
582
diff
changeset
|
158 |
d3e2b23ebf1d
doc/Target-boot-control: finished for now
Mychaela Falconia <falcon@freecalypso.org>
parents:
582
diff
changeset
|
159 * Our FC host tools package has grown so much that making special code |
d3e2b23ebf1d
doc/Target-boot-control: finished for now
Mychaela Falconia <falcon@freecalypso.org>
parents:
582
diff
changeset
|
160 configurations for special environments like the AP of some particular |
d3e2b23ebf1d
doc/Target-boot-control: finished for now
Mychaela Falconia <falcon@freecalypso.org>
parents:
582
diff
changeset
|
161 smartphone is no longer scalable; now we just have one standard FC host tools |
d3e2b23ebf1d
doc/Target-boot-control: finished for now
Mychaela Falconia <falcon@freecalypso.org>
parents:
582
diff
changeset
|
162 package without platform-specific hacks. |
d3e2b23ebf1d
doc/Target-boot-control: finished for now
Mychaela Falconia <falcon@freecalypso.org>
parents:
582
diff
changeset
|
163 |
d3e2b23ebf1d
doc/Target-boot-control: finished for now
Mychaela Falconia <falcon@freecalypso.org>
parents:
582
diff
changeset
|
164 * Openmoko platform was certainly very special to us once, but it is not so |
d3e2b23ebf1d
doc/Target-boot-control: finished for now
Mychaela Falconia <falcon@freecalypso.org>
parents:
582
diff
changeset
|
165 special any more - now we just treat it the same as any other. Our target |
d3e2b23ebf1d
doc/Target-boot-control: finished for now
Mychaela Falconia <falcon@freecalypso.org>
parents:
582
diff
changeset
|
166 boot control mechanism has now been generalized from just OM GTA02 to any |
d3e2b23ebf1d
doc/Target-boot-control: finished for now
Mychaela Falconia <falcon@freecalypso.org>
parents:
582
diff
changeset
|
167 arbitrary platform with similar needs. |
d3e2b23ebf1d
doc/Target-boot-control: finished for now
Mychaela Falconia <falcon@freecalypso.org>
parents:
582
diff
changeset
|
168 |
d3e2b23ebf1d
doc/Target-boot-control: finished for now
Mychaela Falconia <falcon@freecalypso.org>
parents:
582
diff
changeset
|
169 * No more reversal of the standard tool paradigm: we have standard operation by |
d3e2b23ebf1d
doc/Target-boot-control: finished for now
Mychaela Falconia <falcon@freecalypso.org>
parents:
582
diff
changeset
|
170 default, magic on request with an option. |