comparison FC-handset-spec @ 88:91352355857c

FC-handset-spec: document beyond-USB rescue provisions on FC Venus
author Mychaela Falconia <falcon@freecalypso.org>
date Fri, 15 Apr 2022 05:59:36 +0000
parents 78d4d362c086
children b10442b756b2
comparison
equal deleted inserted replaced
87:78d4d362c086 88:91352355857c
1505 3.3.2. USB subsystem 1505 3.3.2. USB subsystem
1506 1506
1507 Our Venus development board will include the same USB subsystem as intended for 1507 Our Venus development board will include the same USB subsystem as intended for
1508 the final FC Libre Dumbphone handset, as described in sections 1.11 and 1.12, 1508 the final FC Libre Dumbphone handset, as described in sections 1.11 and 1.12,
1509 consisting of a USB mini-B interface connector, a charging on/off switch with 1509 consisting of a USB mini-B interface connector, a charging on/off switch with
1510 the charging circuit behind it, and the FT2232x subsystem of section 1.12. 1510 the charging circuit behind it, and the FT2232D subsystem of section 1.12.
1511 1511
1512 This design is a radical departure from our previous development boards which 1512 This design is a radical departure from our previous development boards which
1513 bring out the two Calypso UARTs in their raw LVCMOS form, leaving the USB 1513 bring out the two Calypso UARTs in their raw LVCMOS form, leaving the USB
1514 interface to an external adapter, most recently our own DUART28. In fact, the 1514 interface to an external adapter, most recently our own DUART28. In fact, the
1515 Mother's original idea for the Venus board was to keep essentially the same 1515 Mother's original idea for the Venus board was to keep essentially the same
1557 (with standard USB as the charging power source) can be made a part of the 1557 (with standard USB as the charging power source) can be made a part of the
1558 demo. 1558 demo.
1559 1559
1560 3.3.2.1. Linux kernel patch requirement 1560 3.3.2.1. Linux kernel patch requirement
1561 1561
1562 The FT2232x USB subsystem implemented on FC Venus will include the boot control 1562 The FT2232D USB subsystem implemented on FC Venus will include the boot control
1563 feature originating from DUART28C, as described in section 1.12.3. This 1563 feature originating from DUART28C, as described in section 1.12.3. This
1564 hardware feature has an implication for developer-users of this board: anyone 1564 hardware feature has an implication for developer-users of this board: anyone
1565 wishing to play with a Venus board beyond already-flashed fw (i.e., anyone 1565 wishing to play with a Venus board beyond already-flashed fw (i.e., anyone
1566 wishing to connect the board to a host computer) will need to apply our DUART28C 1566 wishing to connect the board to a host computer) will need to apply our DUART28C
1567 support patch to the ftdi_sio driver in their Linux kernel; as for other host 1567 support patch to the ftdi_sio driver in their Linux kernel; as for other host
1584 to show proof that they have applied this maintainer-rejected patch as a 1584 to show proof that they have applied this maintainer-rejected patch as a
1585 condition of receiving their board. 1585 condition of receiving their board.
1586 1586
1587 3.3.2.2. Board bring-up order 1587 3.3.2.2. Board bring-up order
1588 1588
1589 With the FT2232x USB subsystem integrated on the Venus board, this subsystem 1589 The on-board FT2232D subsystem will be the preferred way to interface to the
1590 will become the only way to access Calypso UARTs for initial bring-up of a 1590 two Calypso UARTs on FC Venus, and also the preferred way of driving RPWON and
1591 freshly populated board. Furthermore, our DUART28C-based boot control mechanism 1591 nTESTRESET boot controls - if everything goes according to plan. However, to
1592 will be the only way to trigger RPWON and nTESTRESET boot controls - there will 1592 guard against inoperable boards in the unfortunate event that the built-in USB
1593 also be a PWON button (see section 3.6), but that one is intended for higher- 1593 subsystem doesn't work as designed, there will also be a "rescue" 10-pin DUART
1594 level end user functions after FC handset fw has been loaded and after all other 1594 header on the board. If all USB subsystem components are populated on the
1595 bring-up tasks are completed on each board. As a result of these factors, our 1595 board as we currently intend, the "rescue" DUART header MUST NOT have anything
1596 FT2232x USB subsystem becomes part of the critical path for board bring-up, and 1596 connected to it, other than oscilloscope probes - however, if a need arises to
1597 it will in fact become the very first part to be brought up, before Calypso. 1597 operate a Venus board via an external DUART28 or other adapter, then some
1598 components will need to be removed from the USB section of the board to prevent
1599 the scenario of two fighting drivers.
1600
1601 There will also be a 3-pin boot control header, bringing out RPWON and
1602 nTESTRESET, but this provision does not present the same stringent single driver
1603 requirements as the "rescue" DUART header, as all drivers for these boot control
1604 signals are open drain.
1598 1605
1599 The charging switch will need to be off during board bring-up, and it is 1606 The charging switch will need to be off during board bring-up, and it is
1600 expected to remain off during most development activities on FC Venus, to be 1607 expected to remain off during most development activities on FC Venus, to be
1601 turned on only rarely when exercising the charging function. 1608 turned on only rarely when exercising the charging function.
1602 1609
1694 There will be no keypad backlight on the Venus board. This secondary backlight 1701 There will be no keypad backlight on the Venus board. This secondary backlight
1695 is not needed for firmware development, as it is not managed separately in our 1702 is not needed for firmware development, as it is not managed separately in our
1696 fw architecture - instead its control will be absorbed into our R2D BLRR control 1703 fw architecture - instead its control will be absorbed into our R2D BLRR control
1697 mechanism on the final handset where this backlight will be added. 1704 mechanism on the final handset where this backlight will be added.
1698 1705
1699 3.6.1. No boot control buttons 1706 3.6.1. Limited boot control buttons
1700 1707
1701 The Mother's original idea for FC Venus was to implement pushbutton switches for 1708 The Mother's original idea for FC Venus was to implement pushbutton switches for
1702 all 3 boot controls as in PWON, RPWON and nTESTRESET. However, now that we are 1709 all 3 boot controls as in PWON, RPWON and nTESTRESET. However, now that we are
1703 integrating the FT2232x USB subsystem of section 1.12 and the boot control 1710 integrating the FT2232D USB subsystem of section 1.12 and the boot control
1704 mechanism of section 1.12.3 as a non-removable part of the Venus board itself, 1711 mechanism of section 1.12.3 as a non-removable part of the Venus board itself,
1705 pushbutton switches for RPWON and RESET are being eliminated, leaving only PWON 1712 the pushbutton switch for RPWON is being eliminated, leaving only PWON in the
1706 in the "END" position in the main keypad. 1713 "END" position in the main keypad and a rare-use RESET button. For additional
1714 context, when I first decided to integrate the FT2232D subsystem with boot
1715 control, I was going to drop the RESET button as well - but then I decided that
1716 it would be more proper to include at least a footprint for one. My current
1717 intent is to populate an actual button for RESET, but to use a different switch
1718 part with a shorter actuator and a greater operating force, reducing the
1719 probability of accidental resets.
1707 1720
1708 3.7. Audio interfaces 1721 3.7. Audio interfaces
1709 1722
1710 Corresponding to the 3 audio channels of section 1.7, there will be 3 analog 1723 Corresponding to the 3 audio channels of section 1.7, there will be 3 analog
1711 audio interfaces on FC Venus: two TRRS jacks and one 2-pin header. These audio 1724 audio interfaces on FC Venus: two TRRS jacks and one 2-pin header. These audio