mirror of
https://github.com/torvalds/linux.git
synced 2026-05-25 07:33:19 +02:00
pinctrl: qcom: print egpio mode in debugfs
When egpio_enable bit is cleared, the gpio is driven by SSC/LPASS TLMM and the APSS TLMM settings are ignored. Reflect that in the debugfs dump. Signed-off-by: Jonathan Marek <jonathan@marek.ca> Link: https://lore.kernel.org/r/20220210131210.24605-2-jonathan@marek.ca Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
This commit is contained in:
parent
c74803ee45
commit
06e12b7928
|
|
@ -615,6 +615,7 @@ static void msm_gpio_dbg_show_one(struct seq_file *s,
|
|||
int drive;
|
||||
int pull;
|
||||
int val;
|
||||
int egpio_enable;
|
||||
u32 ctl_reg, io_reg;
|
||||
|
||||
static const char * const pulls_keeper[] = {
|
||||
|
|
@ -641,12 +642,20 @@ static void msm_gpio_dbg_show_one(struct seq_file *s,
|
|||
func = (ctl_reg >> g->mux_bit) & 7;
|
||||
drive = (ctl_reg >> g->drv_bit) & 7;
|
||||
pull = (ctl_reg >> g->pull_bit) & 3;
|
||||
egpio_enable = 0;
|
||||
if (pctrl->soc->egpio_func && ctl_reg & BIT(g->egpio_present))
|
||||
egpio_enable = !(ctl_reg & BIT(g->egpio_enable));
|
||||
|
||||
if (is_out)
|
||||
val = !!(io_reg & BIT(g->out_bit));
|
||||
else
|
||||
val = !!(io_reg & BIT(g->in_bit));
|
||||
|
||||
if (egpio_enable) {
|
||||
seq_printf(s, " %-8s: egpio\n", g->name);
|
||||
return;
|
||||
}
|
||||
|
||||
seq_printf(s, " %-8s: %-3s", g->name, is_out ? "out" : "in");
|
||||
seq_printf(s, " %-4s func%d", val ? "high" : "low", func);
|
||||
seq_printf(s, " %dmA", msm_regval_to_drive(drive));
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user