pinctrl: amd: Add Z-state wake control bits
authorBasavaraj Natikar <Basavaraj.Natikar@amd.com>
Thu, 8 Dec 2022 09:37:04 +0000 (15:07 +0530)
committerLinus Walleij <linus.walleij@linaro.org>
Thu, 29 Dec 2022 00:59:41 +0000 (01:59 +0100)
GPIO registers include Bit 27 for WakeCntrlZ used to enable wake in
Z state. Hence add Z-state wake control bits to debugfs output to
debug and analyze Z-states problems.

Signed-off-by: Basavaraj Natikar <Basavaraj.Natikar@amd.com>
Suggested-by: Mario Limonciello <mario.limonciello@amd.com>
Tested-by: Guruvendra Punugupati <Guruvendra.Punugupati@amd.com>
Link: https://lore.kernel.org/r/20221208093704.1151928-1-Basavaraj.Natikar@amd.com
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
drivers/pinctrl/pinctrl-amd.c
drivers/pinctrl/pinctrl-amd.h

index 9bc6e3922e78e8d5cc6caecf653b7c5cdc165717..ce3893dc85e63292a8c2cb26b32cb4b7d41e40b7 100644 (file)
@@ -218,6 +218,7 @@ static void amd_gpio_dbg_show(struct seq_file *s, struct gpio_chip *gc)
        char *orientation;
        char debounce_value[40];
        char *debounce_enable;
+       char *wake_cntrlz;
 
        for (bank = 0; bank < gpio_dev->hwbank_num; bank++) {
                unsigned int time = 0;
@@ -305,6 +306,12 @@ static void amd_gpio_dbg_show(struct seq_file *s, struct gpio_chip *gc)
                                wake_cntrl2 = " ∅";
                        seq_printf(s, "S4/S5 %s| ", wake_cntrl2);
 
+                       if (pin_reg & BIT(WAKECNTRL_Z_OFF))
+                               wake_cntrlz = "⏰";
+                       else
+                               wake_cntrlz = " ∅";
+                       seq_printf(s, "Z %s| ", wake_cntrlz);
+
                        if (pin_reg & BIT(PULL_UP_ENABLE_OFF)) {
                                pull_up_enable = "+";
                                if (pin_reg & BIT(PULL_UP_SEL_OFF))
index c8635998465db39bc21d152e30d3eccdce0484d4..81ae8319a1f0af6fbb39e1a8b808f8d97eaff4cf 100644 (file)
@@ -42,6 +42,7 @@
 #define OUTPUT_ENABLE_OFF              23
 #define SW_CNTRL_IN_OFF                        24
 #define SW_CNTRL_EN_OFF                        25
+#define WAKECNTRL_Z_OFF                        27
 #define INTERRUPT_STS_OFF              28
 #define WAKE_STS_OFF                   29