[Cryptech Core] MKM access from FPGA

Paul Selkirk paul at psgd.org
Wed May 25 19:58:33 UTC 2016


On 05/25/2016 04:27 AM, Pavel Shatov wrote:
> MKM is supposed to be battery-backed, so it will not work without that
> jumper (JP4, pins 1-2, pin 1 has square pad on the back side of the board).

The first problem was that I read the pins in the wrong direction, so I
ended up grounding 3V3_BATT instead of powering it, oops.

> Note, that AVR controls whether FPGA can access the MKM or not using
> pins MKM_CONTROL_AVR_ENA and MKM_CONTROL_FPGA_DIS. To give access to
> FPGA, we need MKM_CONTROL_AVR_ENA = 1 and MKM_CONTROL_FPGA_DIS = 0. When
> AVR is unprogrammed, those pins are high impedance and resistors R80-R81
> should by default give access to FPGA. Maybe you have the board Linus
> played with where the AVR is programmed to steal access from FPGA upon
> boot?

Indeed, when I put a voltmeter on it, I found MKM_CONTROL_AVR_ENA = 0
and MKM_CONTROL_FPGA_DIS = 1. The AVR is obviously programmed with
Something, because the LEDs go through a counting sequence.

Fortunately, jumpering RST to GND on the ISP header works to disable the
AVR for now, and the MKMIF test passes.

In the longer term, I've ordered an AVR programmer (USD$15 from
SparkFun), so I can mess around in that code too.

Thanks to Pavel and Fredrik for their help.

				paul


More information about the Core mailing list