FreeCalypso > hg > freecalypso-docs
comparison FC-handset-spec @ 53:016f8cf2418c
FC-handset-spec: boot control idea documented
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Sat, 12 Jun 2021 02:58:47 +0000 |
parents | cfe8623b915d |
children | 138021ca5eae |
comparison
equal
deleted
inserted
replaced
52:cfe8623b915d | 53:016f8cf2418c |
---|---|
937 With only 3 FT2232x-to-Calypso signals needing to go through a USB-side-powered | 937 With only 3 FT2232x-to-Calypso signals needing to go through a USB-side-powered |
938 LVC buffer, and with 3 slots remaining available in the 74LVC541A buffer from | 938 LVC buffer, and with 3 slots remaining available in the 74LVC541A buffer from |
939 section 1.12.2.1, that one 74LVC541A IC can serve both signal directions (5 | 939 section 1.12.2.1, that one 74LVC541A IC can serve both signal directions (5 |
940 signals from Calypso to FT2232x and 3 signals going the other way), reducing the | 940 signals from Calypso to FT2232x and 3 signals going the other way), reducing the |
941 component count. | 941 component count. |
942 | |
943 1.12.3. Boot control by USB host | |
944 | |
945 Our DUART28C adapter (DUART28 hardware, EEPROM in the 'C' configuration) has a | |
946 nifty feature in the form of CTL1 and CTL2 open drain outputs, intended for | |
947 triggering Iota VRPC boot control signals on Calypso devices, i.e., boot control | |
948 signals from the {PWON, RPWON, nTESTRESET} set. So far none of our FreeCalypso | |
949 development boards bring out RPWON, but both FCDEV3B and Caramel2 feature PWON | |
950 and nTESTRESET controls, and we have an established convention for driving them | |
951 with CTL1 and CTL2 from a DUART28C. The end effect for the developer-operator | |
952 is that one can run operations based on Calypso boot ROM loading path (fc-iram, | |
953 fc-loadtool etc) purely from the host command line, without needing to press any | |
954 buttons on the development board: adding -Prts to the command line is equivalent | |
955 to pressing PWON, or adding -Pdtr is equivalent to pressing RESET. rvinterf can | |
956 also be run with the same options, allowing flashed firmware to be booted in a | |
957 similar no-buttons-needed manner. | |
958 | |
959 It is the Mother's intent to replicate this boot control feature on our FC Libre | |
960 Dumbphone handset as well, i.e., make FT2232x Channel B RTS and DTR outputs | |
961 (otherwise unused) act as host-driven boot control triggers. In hardware terms, | |
962 this addition consists of just one tiny IC (74LVC2G07) and two pull-up resistors | |
963 on the BDBUS[24] lines from FT2232x to this OD buffer. FT2232x EEPROM will be | |
964 programmed with the same custom USB ID as DUART28C, and the Linux kernel | |
965 ftdi_sio driver will need to have our DUART28C support patch added to it. | |
966 | |
967 There will be one change from our previous convention, however: the OD buffer | |
968 output controlled with Channel B RTS will be wired to RPWON rather than PWON; | |
969 the other OD buffer output controlled with Channel B DTR will still be wired to | |
970 nTESTRESET like before. The reason for this change is that our handset firmware | |
971 has more complex logic that treats different boot causes differently (as | |
972 required for standard expected handset functionality), and Iota PWON is now | |
973 reserved solely for the end user power-on button. Host-commanded boot needs to | |
974 be different from this end user power-on button (no long press is required, and | |
975 the firmware should enter its misc boot state that behaves like an ACI build), | |
976 hence we are changing the wiring so that -Prts will trigger RPWON rather than | |
977 PWON. The same boot effect can still be achieved with -Pdtr triggering | |
978 nTESTRESET, but it is a bigger hammer (reset of RTC can be unwanted), hence | |
979 -Prts will be recommended as the gentler option, leaving -Pdtr for times when | |
980 recovery from runaway code is needed. |