[PATCH v2 3/6] gpiolib: of: add quirk for IS31FL319X shutdown line
Jun Yan
jerrysteve1101 at gmail.com
Mon May 25 07:46:09 PDT 2026
According to the IS31FL319x datasheet[1], the SDB pin is active‑low.
However, existing device tree incorrectly configure it as active‑high.
Add a fixup to force the consumer active low for legacy device trees.
[1] https://lumissil.com/assets/pdf/core/IS31FL3196_DS.pdf
Signed-off-by: Jun Yan <jerrysteve1101 at gmail.com>
---
drivers/gpio/gpiolib-of.c | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/drivers/gpio/gpiolib-of.c b/drivers/gpio/gpiolib-of.c
index ef1ac68b94b7..8a79aaadc9ea 100644
--- a/drivers/gpio/gpiolib-of.c
+++ b/drivers/gpio/gpiolib-of.c
@@ -194,6 +194,16 @@ static void of_gpio_try_fixup_polarity(const struct device_node *np,
{ "himax,hx8357", "gpios-reset", false },
{ "himax,hx8369", "gpios-reset", false },
#endif
+#if IS_ENABLED(CONFIG_LEDS_IS31FL319X)
+ /*
+ * According to the IS31FL319x datasheet, the SDB pin is active‑low.
+ * However, existing device tree incorrectly configure it
+ * as active‑high.
+ */
+ { "issi,is31fl3199", "shutdown-gpios", false },
+ { "si-en,sn3190", "shutdown-gpios", false },
+ { "si-en,sn3193", "shutdown-gpios", false },
+#endif
#if IS_ENABLED(CONFIG_MTD_NAND_JZ4780)
/*
* The rb-gpios semantics was undocumented and qi,lb60 (along with
--
2.54.0
More information about the linux-arm-kernel
mailing list