view venus/src/periph/bl_current_select.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 9f5a3567d699
children
line wrap: on
line source

module bl_current_select (GND, Vio, BL_GPIO11, BL_GPIO12, SET);

input GND, Vio;
input BL_GPIO11, BL_GPIO12;
output SET;

wire buf_out_GPIO11, buf_out_GPIO12;

/* U403 buffer common part */
logic_ic_common U403_common (.Vcc(Vio), .GND(GND));

/* bypass capacitor */
capacitor U403_bypass (Vio, GND);

/* buffer slots */
buffer_slot_3state buf_GPIO11 (.A(Vio), .nOE(BL_GPIO11), .Y(buf_out_GPIO11));
buffer_slot_3state buf_GPIO12 (.A(Vio), .nOE(BL_GPIO12), .Y(buf_out_GPIO12));

/* MAX1916 current control resistors */
resistor R_fixed  (Vio, SET);
resistor R_GPIO11 (buf_out_GPIO11, SET);
resistor R_GPIO12 (buf_out_GPIO12, SET);

endmodule