annotate doc/Target-boot-control @ 1000:39a6090a052a

doc/How-flash-really-works: article written
author Mychaela Falconia <falcon@freecalypso.org>
date Sat, 09 Dec 2023 09:08:19 +0000
parents b0b6966fa62e
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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.