# HG changeset patch
# User Mychaela Falconia <falcon@freecalypso.org>
# Date 1637352646 0
# Node ID 42a02257d45794589197458274d54a513256700a
# Parent  ff784add08895cc554ece1cfeb82835129b09221
venus/src/periph/calypso_uart_in.v written

diff -r ff784add0889 -r 42a02257d457 venus/src/periph/calypso_uart_in.v
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/venus/src/periph/calypso_uart_in.v	Fri Nov 19 20:10:46 2021 +0000
@@ -0,0 +1,31 @@
+/*
+ * This module encapsulates the mobile power domain buffers
+ * in front of Calypso UART inputs.
+ */
+
+module calypso_uart_in (GND, VBAT, Vio,
+			Host_TxD, Host_RTS, Host_DTR, Host_TxD2,
+			RX_MODEM, CTS_MODEM, GPIO_DTR, RX_IRDA);
+
+input GND, VBAT, Vio;
+input Host_TxD, Host_RTS, Host_DTR, Host_TxD2;
+output RX_MODEM, CTS_MODEM, GPIO_DTR, RX_IRDA;
+
+/* U401 buffer common part */
+logic_ic_common U401_common (.Vcc(Vio), .GND(GND));
+
+/* buffer slots */
+buffer_slot_3state Host_TxD_buffer  (.A(Host_TxD),  .Y(RX_MODEM));
+buffer_slot_3state Host_RTS_buffer  (.A(Host_RTS),  .Y(CTS_MODEM));
+buffer_slot_3state Host_DTR_buffer  (.A(Host_DTR),  .Y(GPIO_DTR));
+buffer_slot_3state Host_TxD2_buffer (.A(Host_TxD2), .Y(RX_IRDA));
+
+/* pull-ups to VBAT */
+resistor Host_TxD_pullup  (Host_TxD,  VBAT);
+resistor Host_DTR_pullup  (Host_DTR,  VBAT);
+resistor Host_TxD2_pullup (Host_TxD2, VBAT);
+
+/* pull-down to GND */
+resistor Host_RTS_pulldown (Host_RTS, GND);
+
+endmodule