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

pinctrl: qcom: qcm2290: Add GPIO wakeirq map

It adds the map of wakeup capable GPIOs and the pins at MPM wake
controller on QCM2290, so that these GPIOs can wake up the SoC from
vlow/vmin low power mode.

Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
Link: https://lore.kernel.org/r/20211122080938.20623-1-shawn.guo@linaro.org
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>

authored by

Shawn Guo and committed by
Linus Walleij
c981a789 06e12b79

+12
+12
drivers/pinctrl/qcom/pinctrl-qcm2290.c
··· 1083 1083 [133] = SDC_QDSD_PINGROUP(sdc2_data, 0x86000, 9, 0), 1084 1084 }; 1085 1085 1086 + static const struct msm_gpio_wakeirq_map qcm2290_mpm_map[] = { 1087 + { 0, 84 }, { 3, 75 }, { 4, 16 }, { 6, 59 }, { 8, 63 }, { 11, 17 }, 1088 + { 13, 18 }, { 14, 51 }, { 17, 20 }, { 18, 52 }, { 19, 53 }, { 24, 6 }, 1089 + { 25, 71 }, { 27, 73 }, { 28, 41 }, { 31, 27 }, { 32, 54 }, { 33, 55 }, 1090 + { 34, 56 }, { 35, 57 }, { 36, 58 }, { 39, 28 }, { 46, 29 }, { 62, 60 }, 1091 + { 63, 61 }, { 64, 62 }, { 69, 33 }, { 70, 34 }, { 72, 72 }, { 75, 35 }, 1092 + { 79, 36 }, { 80, 21 }, { 81, 38 }, { 86, 19 }, { 87, 42 }, { 88, 43 }, 1093 + { 89, 45 }, { 91, 74 }, { 94, 47 }, { 95, 48 }, { 96, 49 }, { 97, 50 }, 1094 + }; 1095 + 1086 1096 static const struct msm_pinctrl_soc_data qcm2290_pinctrl = { 1087 1097 .pins = qcm2290_pins, 1088 1098 .npins = ARRAY_SIZE(qcm2290_pins), ··· 1101 1091 .groups = qcm2290_groups, 1102 1092 .ngroups = ARRAY_SIZE(qcm2290_groups), 1103 1093 .ngpios = 127, 1094 + .wakeirq_map = qcm2290_mpm_map, 1095 + .nwakeirq_map = ARRAY_SIZE(qcm2290_mpm_map), 1104 1096 }; 1105 1097 1106 1098 static int qcm2290_pinctrl_probe(struct platform_device *pdev)