aboutsummaryrefslogtreecommitdiff
path: root/nmigen_boards/dev/spi.py
blob: e8baae04c411a9cfe89f186a1439ae26b5c8d753 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
from nmigen.build import *


__all__ = ["SPIResource"]


def SPIResource(number, *, cs, clk, mosi, miso, int=None, reset=None, attrs=None):
    io = []
    io.append(Subsignal("cs", PinsN(cs, dir="o")))
    io.append(Subsignal("clk", Pins(clk, dir="o")))
    io.append(Subsignal("mosi", Pins(mosi, dir="o")))
    io.append(Subsignal("miso", Pins(miso, dir="i")))
    if int is not None:
        io.append(Subsignal("int", Pins(int, dir="i")))
    if reset is not None:
        io.append(Subsignal("reset", Pins(reset, dir="o")))
    if attrs is not None:
        io.append(attrs)
    return Resource("spi", number, *io)