From: Neel Date: Tue, 17 Jul 2018 09:10:45 +0000 (+0530) Subject: template for slow-peripherals done. need automation. gpio config is decouple from... X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=b7339a1680222aa3bbb1d783ba87d1549c8283be;p=pinmux.git template for slow-peripherals done. need automation. gpio config is decouple from func as well. --- diff --git a/src/bsv/bsv_lib/gpio.bsv b/src/bsv/bsv_lib/gpio.bsv index ad0650f..48fe7dd 100644 --- a/src/bsv/bsv_lib/gpio.bsv +++ b/src/bsv/bsv_lib/gpio.bsv @@ -24,13 +24,15 @@ package gpio; /*============================ */ `include "instance_defines.bsv" - interface GPIO_config#(numeric type ionum); + interface GPIO_func#(numeric type ionum); (*always_ready,always_enabled*) method Action gpio_in (Vector#(ionum,Bit#(1)) inp); (*always_ready*) method Vector#(ionum,Bit#(1)) gpio_out; (*always_ready*) method Vector#(ionum,Bit#(1)) gpio_out_en; + endinterface + interface GPIO_config#(numeric type ionum); (*always_ready*) method Vector#(ionum,Bit#(1)) gpio_DRV0; (*always_ready*) @@ -52,6 +54,7 @@ package gpio; endinterface interface GPIO#(numeric type ionum); interface GPIO_config#(ionum) pad_config; + interface GPIO_func#(ionum) func; interface AXI4_Lite_Slave_IFC#(`ADDR,`DATA,`USERSPACE) axi_slave; endinterface @@ -181,7 +184,7 @@ package gpio; endrule interface axi_slave= s_xactor.axi_side; - interface pad_config=interface GPIO_config + interface func=interface GPIO_func method Action gpio_in (Vector#(ionum,Bit#(1)) inp); for(Integer i=0;i