/* Initialize a GPIO controller. 
Perform basic initialization of a GPIO controller */
static int gpio_sifive_init(const struct device *dev)
/* Initialize a GPIO controller. 
Perform basic initialization of a GPIO controller */
static int gpio_sifive_init(const struct device *dev)
{
	volatile struct gpio_sifive_t *gpio = DEV_GPIO(dev);
	const struct gpio_sifive_config *cfg = DEV_GPIO_CFG(dev);
	gpio->in_en   = 0U;
	gpio->out_en  = 0U;
	gpio->pue     = 0U;
	gpio->rise_ie = 0U;
	gpio->fall_ie = 0U;
	gpio->high_ie = 0U;
	gpio->low_ie  = 0U;
	gpio->iof_en  = 0U;
	gpio->iof_sel = 0U;
	gpio->invert  = 0U;
	cfg->gpio_cfg_func();
	return 0;
}