aboutsummaryrefslogtreecommitdiff
path: root/src/soc/nvidia/tegra/gpio.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/soc/nvidia/tegra/gpio.c')
-rw-r--r--src/soc/nvidia/tegra/gpio.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/src/soc/nvidia/tegra/gpio.c b/src/soc/nvidia/tegra/gpio.c
index 06153203b7..4cf6d5f43a 100644
--- a/src/soc/nvidia/tegra/gpio.c
+++ b/src/soc/nvidia/tegra/gpio.c
@@ -36,15 +36,13 @@ void __gpio_input(gpio_t gpio, u32 pull)
pinmux_set_config(gpio >> GPIO_PINMUX_SHIFT, pinmux_config);
}
-void gpio_output(gpio_t gpio, int value)
+void __gpio_output(gpio_t gpio, int value, u32 od)
{
- /* TODO: Set OPEN_DRAIN based on what pin it is? */
-
gpio_set_int_enable(gpio, 0);
gpio_set_out_value(gpio, value);
gpio_set_out_enable(gpio, 1);
gpio_set_mode(gpio, GPIO_MODE_GPIO);
- pinmux_set_config(gpio >> GPIO_PINMUX_SHIFT, PINMUX_PULL_NONE);
+ pinmux_set_config(gpio >> GPIO_PINMUX_SHIFT, PINMUX_PULL_NONE | od);
}
enum {