Topic: any docs/notes on talking to the FPGA?

Is there any info on talking to the FPGA other than the sources for novena-gpbb-{example,fpga} and the other novena fpga repos in bunnies github?

I have a design that I'm looking to shift from a Mojo board (another Spartan6) to the Novena, and am wondering if there's any info on using EIM other than reading the source? If not, any suggestions on the best candidate to work from? I'm starting with the gpbb projects now, but was wondering if there's a better place to start.

Re: any docs/notes on talking to the FPGA?

There's active work on implementing various HW-based crypto primitives on the Novena FPGA by Cryptech, which includes some documentation which might be of interest:

http://wiki.cryptech.is/wiki/CoretestHashesNovena

Re: any docs/notes on talking to the FPGA?

Thanks, that looks useful. On a first glance they're only using I2C so I've still got to get EIM worked out, but this gives me at least some simple host IO to start with.

Re: any docs/notes on talking to the FPGA?

I'm very interested in the EIM interface as well. Xobs told me at CCC that they've used it for the scope stuff, but didn't have DMA working yet.

Re: any docs/notes on talking to the FPGA?

If you look in drivers/dma/imx-sdma.c, you'll see the following code:

static void sdma_get_pc(struct sdma_channel *sdmac,
                enum sdma_peripheral_type peripheral_type)
{
...
        switch (peripheral_type) {
        case IMX_DMATYPE_MEMORY:
                emi_2_emi = sdma->script_addrs->ap_2_ap_addr;
                break;
...
        }

        sdmac->pc_from_device = per_2_emi;
        sdmac->pc_to_device = emi_2_per;
}

The way the current DMA code is structured it just doesn't support memory-to-memory copies.  I'm not sure how difficult it'd be to set up, but I couldn't get it working in the half-day I looked at it last.

Re: any docs/notes on talking to the FPGA?

If anyone else is looking for notes on using the EIM interface, the GPBB User Guide is a good place to start - it's less a "how-to twiddle pins" for end users of the GPBB, and more a walkthrough of the interesting parts of the default FPGA firmware, including EIM and I2C.