Add a conb cell in gpio_control_block

- this is to be able to enable/disable output without needed extra cells
  on an upper level
diff --git a/verilog/rtl/caravel.v b/verilog/rtl/caravel.v
index d58aa9b..fa85ee2 100644
--- a/verilog/rtl/caravel.v
+++ b/verilog/rtl/caravel.v
@@ -590,6 +590,9 @@
 	.mgmt_gpio_out({sdo_out, jtag_out}),
 	.mgmt_gpio_oeb({sdo_outenb, jtag_outenb}),
 
+        .one(),
+        .zero(),
+
     	// Serial data chain for pad configuration
     	.serial_data_in(gpio_serial_link_shifted[1:0]),
     	.serial_data_out(gpio_serial_link[1:0]),
@@ -614,6 +617,7 @@
     	.pad_gpio_in(mprj_io_in[1:0])
     );
 
+    wire [`MPRJ_IO_PADS-1:2] one_loop;
     gpio_control_block gpio_control_in [`MPRJ_IO_PADS-1:2] (
     	`ifdef USE_POWER_PINS
             .vccd(vccd),
@@ -629,7 +633,10 @@
 
 	.mgmt_gpio_in(mgmt_io_in[(`MPRJ_IO_PADS-1):2]),
 	.mgmt_gpio_out(mgmt_io_in[(`MPRJ_IO_PADS-1):2]),
-	.mgmt_gpio_oeb(1'b1),
+	.mgmt_gpio_oeb(one_loop),
+
+        .one(one_loop),
+        .zero(),
 
     	// Serial data chain for pad configuration
     	.serial_data_in(gpio_serial_link_shifted[(`MPRJ_IO_PADS-1):2]),
diff --git a/verilog/rtl/gpio_control_block.v b/verilog/rtl/gpio_control_block.v
index 6faaeff..f011e38 100644
--- a/verilog/rtl/gpio_control_block.v
+++ b/verilog/rtl/gpio_control_block.v
@@ -95,7 +95,12 @@
     output [2:0] pad_gpio_dm,
     output       pad_gpio_outenb,
     output	 pad_gpio_out,
-    input	 pad_gpio_in
+    input	 pad_gpio_in,
+
+    // to provide a way to automatically disable/enable output
+    // from the outside with needing a conb cell
+    output	 one,
+    output	 zero
 );
 
     /* Parameters defining the bit offset of each function in the chain */
@@ -137,6 +142,8 @@
     wire        pad_gpio_outenb;
     wire	pad_gpio_out;
     wire	pad_gpio_in;
+    wire	one;
+    wire	zero;
 
     wire user_gpio_in;
     wire gpio_in_unbuf;
@@ -250,5 +257,16 @@
             .TE(gpio_logic1)
     );
 
+    sky130_fd_sc_hd__conb_1 const_source (
+`ifdef USE_POWER_PINS
+            .VPWR(vccd),
+            .VGND(vssd),
+            .VPB(vccd),
+            .VNB(vssd),
+`endif
+            .HI(one),
+            .LO(zero)
+    );
+
 endmodule
 `default_nettype wire