v 20211219 2 C 2400 3300 1 0 0 5V.sym C 2800 4100 1 0 0 GND.sym C 6100 0 1 0 0 title.sym { T 7100 700 5 10 1 1 0 0 1 date=$date$ T 10400 700 5 10 1 1 0 0 1 org=CuVoodoo T 10400 400 5 10 1 1 0 0 1 authors=King Kévin T 9100 1200 5 14 1 1 0 4 1 title=HDMI firewall T 7100 400 5 10 1 1 0 0 1 version=$version$ T 7100 100 5 10 1 1 0 0 1 revision=$revision$ T 10400 100 5 10 1 1 0 0 1 licence=CERN-OHL-S T 6100 1800 5 10 0 0 0 0 1 device=none T 6100 2000 5 10 0 0 0 0 1 footprint=none } C 7600 8900 1 0 0 switch-spdt-1.sym { T 8000 9700 5 10 0 0 0 0 1 device=SPDT T 8000 9500 5 10 1 1 0 0 1 refdes=S1 T 7300 8600 5 10 0 1 0 0 1 value=XKB_SK-3296S-01 T 8300 9100 5 10 0 1 0 0 1 footprint=MECHANICAL_XKB_SK-3296S-01.lht } T 100 10500 9 10 1 0 0 0 2 based on the research of Pierre-Michel RICORDEL and José LOPES-ESTEVES from ANSSI/SDE/ST/LSF https://sstic.org/2021/presentation/un_pare_feu_pour_le_hdmi/ C 2700 2400 1 90 0 resistor-1.sym { T 2300 2700 5 10 0 0 90 0 1 device=RESISTOR T 2800 3000 5 10 1 1 0 0 1 refdes=R3 T 2700 2400 5 10 0 0 0 0 1 footprint=RESC1608X55N.lht T 2800 2800 5 10 1 1 0 0 1 value=2k2-10k } C 3400 1000 1 0 0 FT24C16A-EL.sym { T 3400 1000 5 8 0 0 0 0 1 footprint=SOT95P280X125-5N.lht T 3800 2660 5 10 1 1 0 0 1 refdes=U1 T 4460 1340 5 10 1 1 0 2 1 device=FT24C16A-EL } C 3200 4100 1 0 0 GND.sym C 3600 4100 1 0 0 GND.sym C 4000 4100 1 0 0 GND.sym C 4400 4100 1 0 0 GND.sym C 1600 4300 1 0 0 HDMI-001S.sym { T 1600 4300 5 8 0 0 0 0 1 footprint=CONNECTOR_HDMI-001S.lht T 2000 8360 5 10 1 1 0 0 1 refdes=J1 T 4560 4640 5 10 1 1 0 2 1 device=HDMI-001S T 3900 8400 5 10 1 1 0 0 1 value=untrusted device } C 11200 4300 1 0 1 HDMI-001S.sym { T 11200 4300 5 8 0 0 0 6 1 footprint=CONNECTOR_HDMI-001S.lht T 10800 8360 5 10 1 1 0 6 1 refdes=J2 T 8240 4640 5 10 1 1 0 8 1 device=HDMI-001S T 7400 8400 5 10 1 1 0 0 1 value=protected monitor } C 8200 4100 1 0 0 GND.sym C 8600 4100 1 0 0 GND.sym C 9000 4100 1 0 0 GND.sym C 9400 4100 1 0 0 GND.sym C 9800 4100 1 0 0 GND.sym C 4300 800 1 0 0 GND.sym C 4200 3000 1 0 0 5V.sym C 3500 8700 1 0 0 5V.sym C 2100 3300 1 0 0 5V.sym C 2400 2400 1 90 0 resistor-1.sym { T 2000 2700 5 10 0 0 90 0 1 device=RESISTOR T 2100 3000 5 10 1 1 0 6 1 refdes=R2 T 2400 2400 5 10 0 0 0 0 1 footprint=RESC1608X55N.lht T 2100 2800 5 10 1 1 0 6 1 value=2k2-10k } C 400 6600 1 0 0 5V.sym C 700 5700 1 90 0 resistor-1.sym { T 300 6000 5 10 0 0 90 0 1 device=RESISTOR T 400 6500 5 10 1 1 180 0 1 refdes=R1 T 400 5900 5 10 1 1 0 6 1 value=1k T 700 5700 5 10 0 0 0 0 1 footprint=RESC1608X55N.lht } N 1600 5700 600 5700 4 C 8800 2100 1 90 0 capacitor-1.sym { T 8100 2300 5 10 0 0 90 0 1 device=CAPACITOR T 8500 2700 5 10 1 1 0 6 1 refdes=C1 T 7900 2300 5 10 0 0 90 0 1 symversion=0.1 T 8500 2400 5 10 1 1 180 0 1 value=100nF T 8800 2100 5 10 0 1 0 0 1 footprint=CAPC1608X92N.lht } C 8400 3000 1 0 0 5V.sym C 8500 1900 1 0 0 GND.sym C 9600 2100 1 90 0 capacitor-1.sym { T 8900 2300 5 10 0 0 90 0 1 device=CAPACITOR T 8700 2300 5 10 0 0 90 0 1 symversion=0.1 T 9600 2100 5 10 0 1 0 0 1 footprint=CAPC1608X92N.lht T 9300 2700 5 10 1 1 0 6 1 refdes=C2 T 9300 2400 5 10 1 1 180 0 1 value=100nF } C 9200 3000 1 0 0 5V.sym C 9300 1900 1 0 0 GND.sym C 3900 1000 1 180 0 resistor-1.sym { T 3600 600 5 10 0 0 180 0 1 device=RESISTOR T 3200 1000 5 10 1 1 0 0 1 refdes=R4 T 3900 1000 5 10 0 0 0 0 1 footprint=RESC1608X55N.lht T 3600 1000 5 10 1 1 0 0 1 value=470-1k } C 3800 700 1 0 0 GND.sym C 900 1200 1 0 0 switch-spdt-1.sym { T 1300 2000 5 10 0 0 0 0 1 device=SPDT T 1300 1800 5 10 1 1 0 0 1 refdes=S2 T 600 900 5 10 0 1 0 0 1 value=XKB_SK-3296S-01 T 1600 1400 5 10 0 1 0 0 1 footprint=MECHANICAL_XKB_SK-3296S-01.lht } C 700 1400 1 0 0 5V.sym N 1800 1600 3400 1600 4 N 2600 900 3000 900 4 C 1800 1100 1 0 0 nc-right-1.sym { T 1900 1600 5 10 0 0 0 0 1 value=NoConnection T 1900 1800 5 10 0 0 0 0 1 device=DRC_Directive T 1900 2400 5 10 0 0 0 0 1 symversion=1.1 } N 3400 2000 2300 2000 4 { T 3300 2000 5 10 1 1 0 6 1 netname=SDA } N 2300 2000 2300 2400 4 N 3400 2400 2600 2400 4 { T 3300 2400 5 10 1 1 0 6 1 netname=SCL } N 1600 6500 1000 6500 4 { T 1400 6500 5 10 1 1 0 6 1 netname=SDA } N 1600 6900 1000 6900 4 { T 1400 6900 5 10 1 1 0 6 1 netname=SCL } C 1200 7200 1 0 0 nc-left-1.sym { T 1100 7600 5 10 0 0 0 0 1 value=NoConnection T 1100 8000 5 10 0 0 0 0 1 device=DRC_Directive T 1100 8400 5 10 0 0 0 0 1 symversion=1.1 } C 1200 6000 1 0 0 nc-left-1.sym { T 1100 6400 5 10 0 0 0 0 1 value=NoConnection T 1100 6800 5 10 0 0 0 0 1 device=DRC_Directive T 1100 7200 5 10 0 0 0 0 1 symversion=1.1 } C 11200 7200 1 0 0 nc-right-1.sym { T 11300 7700 5 10 0 0 0 0 1 value=NoConnection T 11300 7900 5 10 0 0 0 0 1 device=DRC_Directive T 11300 8500 5 10 0 0 0 0 1 symversion=1.1 } C 11200 6800 1 0 0 nc-right-1.sym { T 11300 7300 5 10 0 0 0 0 1 value=NoConnection T 11300 7500 5 10 0 0 0 0 1 device=DRC_Directive T 11300 8100 5 10 0 0 0 0 1 symversion=1.1 } C 11200 6400 1 0 0 nc-right-1.sym { T 11300 6900 5 10 0 0 0 0 1 value=NoConnection T 11300 7100 5 10 0 0 0 0 1 device=DRC_Directive T 11300 7700 5 10 0 0 0 0 1 symversion=1.1 } C 11200 6000 1 0 0 nc-right-1.sym { T 11300 6500 5 10 0 0 0 0 1 value=NoConnection T 11300 6700 5 10 0 0 0 0 1 device=DRC_Directive T 11300 7300 5 10 0 0 0 0 1 symversion=1.1 } C 11200 5600 1 0 0 nc-right-1.sym { T 11300 6100 5 10 0 0 0 0 1 value=NoConnection T 11300 6300 5 10 0 0 0 0 1 device=DRC_Directive T 11300 6900 5 10 0 0 0 0 1 symversion=1.1 } C 7400 9100 1 0 0 5V.sym C 8500 8800 1 0 0 nc-right-1.sym { T 8600 9300 5 10 0 0 0 0 1 value=NoConnection T 8600 9500 5 10 0 0 0 0 1 device=DRC_Directive T 8600 10100 5 10 0 0 0 0 1 symversion=1.1 } N 8500 9300 9100 9300 4 N 9100 9300 9100 8700 4 N 5800 7900 7000 7900 4 { T 6200 7900 5 10 1 1 0 0 1 netname=D0+ } N 7000 7500 5800 7500 4 { T 6500 7500 5 10 1 1 0 6 1 netname=D0- } N 5800 7100 7000 7100 4 { T 6200 7100 5 10 1 1 0 0 1 netname=D1+ } N 7000 6700 5800 6700 4 { T 6500 6700 5 10 1 1 0 6 1 netname=D1- } N 5800 6300 7000 6300 4 { T 6200 6300 5 10 1 1 0 0 1 netname=D2+ } N 7000 5900 5800 5900 4 { T 6500 5900 5 10 1 1 0 6 1 netname=D2- } N 5800 5500 7000 5500 4 { T 6200 5500 5 10 1 1 0 0 1 netname=CK+ } N 7000 5100 5800 5100 4 { T 6500 5100 5 10 1 1 0 6 1 netname=CK- } T 700 700 9 10 1 0 0 0 1 LED ON = WP ON B 0 0 12100 11000 3 10 1 0 -1 -1 0 -1 -1 -1 -1 -1 T 100 9600 9 10 1 0 0 0 4 - only video (and sound) are forwarded - DDC limited to statically programmed EDID - HPD, CEC, HEAC (ARC/HEC), CBUS (MHL) are blocked - HDCP is not supported (DDC blocked) T 9300 9000 9 10 1 0 0 0 2 allow 5V forward if monitor does not detect device T 600 5000 9 10 1 0 0 0 3 indicates monitor presence T 4700 2200 9 10 1 0 0 0 2 programm with EDID data from protected monitor T 9700 2800 9 10 1 0 0 0 3 decoupling capacitors: U1-VCC, J1-5V C 2400 1500 1 270 0 LED0603.sym { T 2400 1500 5 8 0 0 270 0 1 footprint=LEDC1608X90N.lht T 2900 1360 5 10 1 1 0 3 1 refdes=D1 T 2440 1300 5 10 0 1 270 5 1 device=LED0603 T 2800 1200 5 10 1 1 0 0 1 value=LED } N 2600 1600 2600 1500 4 N 2600 1100 2600 900 4