X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=src%2Fperipherals%2Fspi%2Fspi.bsv;h=03f78d8b6e1748d8e7e331d1fd6bfaeed067db15;hb=41ec08e8f9187474538532215ff46f80160e2cfc;hp=3255ad7ce354c7769e121b6c7565114114949065;hpb=d4d562790a908f485fa208f19289b405972e11f1;p=shakti-peripherals.git diff --git a/src/peripherals/spi/spi.bsv b/src/peripherals/spi/spi.bsv index 3255ad7..03f78d8 100644 --- a/src/peripherals/spi/spi.bsv +++ b/src/peripherals/spi/spi.bsv @@ -31,6 +31,9 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. package spi; + import AXI4_Lite_Types :: *; + import AXI4_Lite_Fabric :: *; + import GetPut::*; import qspi::*; `include "instance_defines.bsv" @@ -60,7 +63,7 @@ package spi; Ifc_qspi qspi <- mkqspi(); - interface SPI_out out; + interface out = interface SPI_out method Bit#(9) io0_sdio_ctrl; return qspi.out.io0_sdio_ctrl; endmethod @@ -69,12 +72,22 @@ package spi; endmethod interface io_out = interface Get method ActionValue#(Bit#(2)) get; - return qspi.out.io_out[1:0]; + Bit#(4) temp2; + Bit#(2) temp; + qspi.out.io_out.get(temp2); + temp[0] = temp2[0]; + temp[1] = temp2[1]; + return temp; endmethod endinterface; interface io_out_en = interface Get method ActionValue#(Bit#(2)) get; - return qspi.out.io_out_en[1:0]; + Bit#(4) temp2; + Bit#(2) temp; + qspi.out.io_out_en.get(temp2); + temp[0] = temp2[0]; + temp[1] = temp2[1]; + return temp; endmethod endinterface; interface io_in = interface Put @@ -84,15 +97,12 @@ package spi; temp[2] = 0; temp[1] = in[1]; temp[0] = in[0]; - qspi.out.io_in(temp); + qspi.out.io_in.put(temp); endmethod endinterface; interface clk_o = qspi.out.clk_o; - interface io_out = qspi.out.io_out; - interface io_out_en = qspi.out.io_out_en; - interface io_in = qspi.out.io_in; - interface ncs_o = qspi.ncs_o; - endinterface + interface ncs_o = qspi.out.ncs_o; + endinterface; interface slave = qspi.slave; @@ -101,4 +111,5 @@ package spi; return qspi.interripts; endmethod + endmodule endpackage