aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarc Zyngier <maz@kernel.org>2023-07-11 22:18:48 +0100
committerMarc Zyngier <maz@kernel.org>2023-07-11 22:18:48 +0100
commitfa7245d5f212fc25b406f561f0355538a581af3d (patch)
tree2242a76ca2e658b611c54d3e2316b16ad0237edd
parent274ce7d75c6deac717f3e17b818ccf8c1076aeb4 (diff)
downloadcs-sw-fa7245d5f212fc25b406f561f0355538a581af3d.tar.gz
Configure default GPIO_OUT level early
Signed-off-by: Marc Zyngier <maz@kernel.org>
-rw-r--r--m1-pd-bmc.h1
-rw-r--r--start.c2
2 files changed, 3 insertions, 0 deletions
diff --git a/m1-pd-bmc.h b/m1-pd-bmc.h
index 533ad34..9c56f41 100644
--- a/m1-pd-bmc.h
+++ b/m1-pd-bmc.h
@@ -14,6 +14,7 @@ struct gpio_pin_config {
enum gpio_function mode;
int dir;
bool pu;
+ bool level;
bool skip;
};
diff --git a/start.c b/start.c
index de1335c..0ce51cf 100644
--- a/start.c
+++ b/start.c
@@ -163,6 +163,8 @@ static void m1_pd_bmc_gpio_setup_one(const struct gpio_pin_config *pin)
if (pin->mode == GPIO_FUNC_SIO) {
gpio_init(pin->pin);
gpio_set_dir(pin->pin, pin->dir);
+ if (pin->dir == GPIO_OUT)
+ gpio_put(pin->pin, pin->level);
}
if (pin->pu)
gpio_pull_up(pin->pin);