-static inline int gpio_direction_output(unsigned gpio, int value) {
- ifxmips_port_set_dir_out(0, gpio);
+static inline int gpio_direction_output(unsigned gpio, int value)
+{
+ ifxmips_port_clear_open_drain(GPIO_TO_PORT(gpio), GPIO_TO_GPIO(gpio));
+ ifxmips_port_clear_altsel0(GPIO_TO_PORT(gpio), GPIO_TO_GPIO(gpio));
+ ifxmips_port_clear_altsel1(GPIO_TO_PORT(gpio), GPIO_TO_GPIO(gpio));
+ ifxmips_port_set_dir_out(GPIO_TO_PORT(gpio), GPIO_TO_GPIO(gpio));
+ return 0;