FreeCalypso > hg > freecalypso-tools
annotate doc/Target-boot-control @ 1001:7df4c9ae6ba4
loadtools/scripts: w220.{config,init} => chimei.{config,init}
Motorola W220, first touched by FreeCalypso in 2019-05, is an ODM phone
made by Chi-Mei, and its peculiar property of relevance to loadtools
is that it has XRAM on Calypso nCS3 instead of the usual nCS1 - which
matters for fc-xram.  We are now discovering other Chi-Mei phones
including Sony Ericsson J120, and they share the same quirk of XRAM
on nCS3 - hence we rename this loadtools target from w220 to chimei.
| author | Mychaela Falconia <falcon@freecalypso.org> | 
|---|---|
| date | Sat, 09 Dec 2023 17:53:44 +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: 
585diff
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: 
585diff
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: 
585diff
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: 
585diff
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: 
585diff
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: 
585diff
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: 
585diff
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: 
585diff
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: 
585diff
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: 
585diff
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: 
585diff
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: 
585diff
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: 
585diff
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: 
585diff
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: 
585diff
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: 
585diff
changeset | 18 DUART28-boot-control article for the details. | 
| 
f19d12f5756f
doc/Target-boot-control: updated for DUART28C
 Mychaela Falconia <falcon@freecalypso.org> parents: 
585diff
changeset | 19 | 
| 
f19d12f5756f
doc/Target-boot-control: updated for DUART28C
 Mychaela Falconia <falcon@freecalypso.org> parents: 
585diff
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: 
585diff
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: 
585diff
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: 
585diff
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: 
585diff
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: 
585diff
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: 
585diff
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: 
585diff
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: 
585diff
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: 
585diff
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: 
585diff
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: 
585diff
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: 
585diff
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: 
585diff
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: 
585diff
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: 
738diff
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: 
738diff
changeset | 65 only currently implemented methods are: | 
| 
b0b6966fa62e
doc/Target-boot-control: update for -Petmoff
 Mychaela Falconia <falcon@freecalypso.org> parents: 
738diff
changeset | 66 | 
| 
b0b6966fa62e
doc/Target-boot-control: update for -Petmoff
 Mychaela Falconia <falcon@freecalypso.org> parents: 
738diff
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: 
738diff
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: 
738diff
changeset | 69 article for the details. | 
| 
b0b6966fa62e
doc/Target-boot-control: update for -Petmoff
 Mychaela Falconia <falcon@freecalypso.org> parents: 
738diff
changeset | 70 | 
| 
b0b6966fa62e
doc/Target-boot-control: update for -Petmoff
 Mychaela Falconia <falcon@freecalypso.org> parents: 
738diff
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: 
738diff
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: 
585diff
changeset | 73 | 
| 
f19d12f5756f
doc/Target-boot-control: updated for DUART28C
 Mychaela Falconia <falcon@freecalypso.org> parents: 
585diff
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: 
585diff
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: 
585diff
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: 
585diff
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: 
585diff
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: 
738diff
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: 
738diff
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: 
582diff
changeset | 126 | 
| 
d3e2b23ebf1d
doc/Target-boot-control: finished for now
 Mychaela Falconia <falcon@freecalypso.org> parents: 
582diff
changeset | 127 Example 2: Openmoko GTA02 | 
| 
d3e2b23ebf1d
doc/Target-boot-control: finished for now
 Mychaela Falconia <falcon@freecalypso.org> parents: 
582diff
changeset | 128 ========================= | 
| 
d3e2b23ebf1d
doc/Target-boot-control: finished for now
 Mychaela Falconia <falcon@freecalypso.org> parents: 
582diff
changeset | 129 | 
| 
d3e2b23ebf1d
doc/Target-boot-control: finished for now
 Mychaela Falconia <falcon@freecalypso.org> parents: 
582diff
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: 
582diff
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: 
582diff
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: 
582diff
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: 
582diff
changeset | 134 /opt/freecalypso/bootctrl.conf file as follows: | 
| 
d3e2b23ebf1d
doc/Target-boot-control: finished for now
 Mychaela Falconia <falcon@freecalypso.org> parents: 
582diff
changeset | 135 | 
| 
d3e2b23ebf1d
doc/Target-boot-control: finished for now
 Mychaela Falconia <falcon@freecalypso.org> parents: 
582diff
changeset | 136 lm /usr/local/sbin/modem-power-ctrl boot | 
| 
d3e2b23ebf1d
doc/Target-boot-control: finished for now
 Mychaela Falconia <falcon@freecalypso.org> parents: 
582diff
changeset | 137 | 
| 
d3e2b23ebf1d
doc/Target-boot-control: finished for now
 Mychaela Falconia <falcon@freecalypso.org> parents: 
582diff
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: 
582diff
changeset | 139 | 
| 
d3e2b23ebf1d
doc/Target-boot-control: finished for now
 Mychaela Falconia <falcon@freecalypso.org> parents: 
582diff
changeset | 140 fc-loadtool -h fic -Plm /dev/ttySAC0 | 
| 
d3e2b23ebf1d
doc/Target-boot-control: finished for now
 Mychaela Falconia <falcon@freecalypso.org> parents: 
582diff
changeset | 141 | 
| 
d3e2b23ebf1d
doc/Target-boot-control: finished for now
 Mychaela Falconia <falcon@freecalypso.org> parents: 
582diff
changeset | 142 Change from the past | 
| 
d3e2b23ebf1d
doc/Target-boot-control: finished for now
 Mychaela Falconia <falcon@freecalypso.org> parents: 
582diff
changeset | 143 ==================== | 
| 
d3e2b23ebf1d
doc/Target-boot-control: finished for now
 Mychaela Falconia <falcon@freecalypso.org> parents: 
582diff
changeset | 144 | 
| 
d3e2b23ebf1d
doc/Target-boot-control: finished for now
 Mychaela Falconia <falcon@freecalypso.org> parents: 
582diff
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: 
582diff
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: 
582diff
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: 
582diff
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: 
582diff
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: 
582diff
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: 
582diff
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: 
582diff
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: 
582diff
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: 
582diff
changeset | 154 | 
| 
d3e2b23ebf1d
doc/Target-boot-control: finished for now
 Mychaela Falconia <falcon@freecalypso.org> parents: 
582diff
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: 
582diff
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: 
582diff
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: 
582diff
changeset | 158 | 
| 
d3e2b23ebf1d
doc/Target-boot-control: finished for now
 Mychaela Falconia <falcon@freecalypso.org> parents: 
582diff
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: 
582diff
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: 
582diff
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: 
582diff
changeset | 162 package without platform-specific hacks. | 
| 
d3e2b23ebf1d
doc/Target-boot-control: finished for now
 Mychaela Falconia <falcon@freecalypso.org> parents: 
582diff
changeset | 163 | 
| 
d3e2b23ebf1d
doc/Target-boot-control: finished for now
 Mychaela Falconia <falcon@freecalypso.org> parents: 
582diff
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: 
582diff
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: 
582diff
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: 
582diff
changeset | 167 arbitrary platform with similar needs. | 
| 
d3e2b23ebf1d
doc/Target-boot-control: finished for now
 Mychaela Falconia <falcon@freecalypso.org> parents: 
582diff
changeset | 168 | 
| 
d3e2b23ebf1d
doc/Target-boot-control: finished for now
 Mychaela Falconia <falcon@freecalypso.org> parents: 
582diff
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: 
582diff
changeset | 170 default, magic on request with an option. | 
