annotate venus/src/usb/usb_domain_buf.v @ 70:8bc2aa52fd23

manual RESET button new part: 260 g force, shorter actuator One of the main envisioned use cases for FC Venus is field demonstration: the board will be carried around, mounted on a sheet of acrylic or somesuch, it will have a battery and an antenna connected, there will be a test SIM with active service inserted, and the setup will be ready to demonstrate as a working phone at a moment's notice. But when a demo is not actively in progress, the fully assembled setup will be transported around in a big and loose ESD bag, and it will need to be equivalent to a traditional phone in its switched-off state: battery present, RTC keeping time, but not switched on all the time. Having a RESET button of the same keyswitch type as used for the regular keypad and PWON would cause a problem for such field transport scenarios: any spurious press of this button would cause a "misc boot" switch-on. Short spurious presses of PWON are filtered out by the firmware (automatic power-off if the button isn't held down long enough), but the same cannot be done for super-low-level nTESTRESET. However, a button with significantly greater operating force and a shorter actuator (not sticking out to the same height as the regular keypad buttons) should be much safer.
author Mychaela Falconia <falcon@freecalypso.org>
date Thu, 02 Dec 2021 22:40:39 +0000
parents 4722b265cb8c
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
24
4722b265cb8c Venus src: USB domain captured
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
1 /*
4722b265cb8c Venus src: USB domain captured
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
2 * This module encapsulates the 74LVC541A buffer in the USB domain.
4722b265cb8c Venus src: USB domain captured
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
3 */
4722b265cb8c Venus src: USB domain captured
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
4
4722b265cb8c Venus src: USB domain captured
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
5 module usb_domain_buf (GND, P_3V3,
4722b265cb8c Venus src: USB domain captured
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
6 Int_TxD, Int_RxD, Int_RTS, Int_CTS,
4722b265cb8c Venus src: USB domain captured
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
7 Int_DTR, Int_DCD, Int_RI, Int_TxD2, Int_RxD2,
4722b265cb8c Venus src: USB domain captured
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
8 Host_TxD, Host_RxD, Host_RTS, Host_CTS,
4722b265cb8c Venus src: USB domain captured
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
9 Host_DTR, Host_DCD, Host_RI, Host_TxD2, Host_RxD2);
4722b265cb8c Venus src: USB domain captured
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
10
4722b265cb8c Venus src: USB domain captured
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
11 input GND, P_3V3;
4722b265cb8c Venus src: USB domain captured
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
12
4722b265cb8c Venus src: USB domain captured
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
13 input Int_TxD, Int_RTS, Int_DTR, Int_TxD2;
4722b265cb8c Venus src: USB domain captured
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
14 output Int_RxD, Int_CTS, Int_DCD, Int_RI, Int_RxD2;
4722b265cb8c Venus src: USB domain captured
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
15
4722b265cb8c Venus src: USB domain captured
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
16 output Host_TxD, Host_RTS, Host_DTR, Host_TxD2;
4722b265cb8c Venus src: USB domain captured
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
17 input Host_RxD, Host_CTS, Host_DCD, Host_RI, Host_RxD2;
4722b265cb8c Venus src: USB domain captured
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
18
4722b265cb8c Venus src: USB domain captured
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
19 /* buffer common part */
4722b265cb8c Venus src: USB domain captured
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
20
4722b265cb8c Venus src: USB domain captured
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
21 x541_common common (.Vcc(P_3V3),
4722b265cb8c Venus src: USB domain captured
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
22 .GND(GND),
4722b265cb8c Venus src: USB domain captured
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
23 .nOE1(GND),
4722b265cb8c Venus src: USB domain captured
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
24 .nOE2(GND)
4722b265cb8c Venus src: USB domain captured
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
25 );
4722b265cb8c Venus src: USB domain captured
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
26
4722b265cb8c Venus src: USB domain captured
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
27 capacitor bypass_cap (P_3V3, GND);
4722b265cb8c Venus src: USB domain captured
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
28
4722b265cb8c Venus src: USB domain captured
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
29 /* input buffers */
4722b265cb8c Venus src: USB domain captured
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
30
4722b265cb8c Venus src: USB domain captured
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
31 buffer_slot_basic buf_RxD (.A(Host_RxD), .Y(Int_RxD));
4722b265cb8c Venus src: USB domain captured
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
32 buffer_slot_basic buf_CTS (.A(Host_CTS), .Y(Int_CTS));
4722b265cb8c Venus src: USB domain captured
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
33 buffer_slot_basic buf_DCD (.A(Host_DCD), .Y(Int_DCD));
4722b265cb8c Venus src: USB domain captured
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
34 buffer_slot_basic buf_RI (.A(Host_RI), .Y(Int_RI));
4722b265cb8c Venus src: USB domain captured
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
35 buffer_slot_basic buf_RxD2 (.A(Host_RxD2), .Y(Int_RxD2));
4722b265cb8c Venus src: USB domain captured
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
36
4722b265cb8c Venus src: USB domain captured
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
37 /* output buffers */
4722b265cb8c Venus src: USB domain captured
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
38
4722b265cb8c Venus src: USB domain captured
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
39 buffer_slot_basic buf_TxD (.A(Int_TxD), .Y(Host_TxD));
4722b265cb8c Venus src: USB domain captured
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
40 buffer_slot_basic buf_DTR (.A(Int_DTR), .Y(Host_DTR));
4722b265cb8c Venus src: USB domain captured
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
41 buffer_slot_basic buf_TxD2 (.A(Int_TxD2), .Y(Host_TxD2));
4722b265cb8c Venus src: USB domain captured
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
42
4722b265cb8c Venus src: USB domain captured
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
43 /* RTS direct pass-thru: use an 0402 0R jumper */
4722b265cb8c Venus src: USB domain captured
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
44 resistor jmp_RTS (Int_RTS, Host_RTS);
4722b265cb8c Venus src: USB domain captured
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
45
4722b265cb8c Venus src: USB domain captured
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
46 endmodule