Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

pinctrl: qcom: sm8350: add GPIO wakeup interrupt map

GPIOs that can be configured as wakeup sources, have their interrupt
lines routed to PDC interrupt controller. Provide the interrupt map of
the GPIO to its wakeup capable interrupt parent.

Signed-off-by: Lina Iyer <ilina@codeaurora.org>
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Reviewed-by: Vinod Koul <vkoul@kernel.org>
Link: https://lore.kernel.org/r/20210312034218.3324410-1-bjorn.andersson@linaro.org
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>

authored by

Lina Iyer and committed by
Linus Walleij
552bad04 6a37d750

+21
+21
drivers/pinctrl/qcom/pinctrl-sm8350.c
··· 1603 1603 [206] = SDC_PINGROUP(sdc2_data, 0x1cf000, 9, 0), 1604 1604 }; 1605 1605 1606 + static const struct msm_gpio_wakeirq_map sm8350_pdc_map[] = { 1607 + { 2, 117 }, { 7, 82 }, { 11, 83 }, { 14, 80 }, { 15, 146 }, 1608 + { 19, 121 }, { 23, 84 }, { 26, 86 }, { 27, 75 }, { 31, 85 }, 1609 + { 32, 97 }, { 34, 98 }, { 35, 131 }, { 36, 79 }, { 38, 99 }, 1610 + { 39, 92 }, { 40, 101 }, { 43, 137 }, { 44, 102 }, { 46, 96 }, 1611 + { 47, 93 }, { 50, 108 }, { 51, 127 }, { 55, 128 }, { 56, 81 }, 1612 + { 59, 112 }, { 60, 119 }, { 63, 73 }, { 67, 74 }, { 71, 134 }, 1613 + { 75, 103 }, { 79, 104 }, { 80, 126 }, { 81, 139 }, { 82, 140 }, 1614 + { 83, 141 }, { 84, 124 }, { 85, 109 }, { 86, 143 }, { 87, 138 }, 1615 + { 88, 122 }, { 89, 113 }, { 90, 114 }, { 91, 115 }, { 92, 76 }, 1616 + { 95, 147 }, { 96, 148 }, { 98, 149 }, { 99, 150 }, { 115, 125 }, 1617 + { 116, 106 }, { 117, 105 }, { 118, 116 }, { 119, 123 }, { 130, 145 }, 1618 + { 136, 72 }, { 140, 100 }, { 151, 110 }, { 153, 95 }, { 155, 107 }, 1619 + { 156, 94 }, { 157, 111 }, { 159, 118 }, { 162, 77 }, { 165, 78 }, 1620 + { 169, 70 }, { 172, 132 }, { 174, 87 }, { 175, 88 }, { 177, 89 }, 1621 + { 179, 120 }, { 180, 129 }, { 183, 90 }, { 185, 136 }, { 187, 142 }, 1622 + { 190, 144 }, { 198, 91 }, { 200, 133 }, { 202, 135 }, 1623 + }; 1624 + 1606 1625 static const struct msm_pinctrl_soc_data sm8350_tlmm = { 1607 1626 .pins = sm8350_pins, 1608 1627 .npins = ARRAY_SIZE(sm8350_pins), ··· 1630 1611 .groups = sm8350_groups, 1631 1612 .ngroups = ARRAY_SIZE(sm8350_groups), 1632 1613 .ngpios = 204, 1614 + .wakeirq_map = sm8350_pdc_map, 1615 + .nwakeirq_map = ARRAY_SIZE(sm8350_pdc_map), 1633 1616 }; 1634 1617 1635 1618 static int sm8350_tlmm_probe(struct platform_device *pdev)