Add the LV_VIN2_CLK (0x14) and MV_VIN3_CLK (0x15) GPIO subtypes,
which are handled the same as the existing LV_VIN2 and MV_VIN3
subtypes, and register the "qcom,pmm8654au-gpio" compatible string
so the pmm8654au PMIC's GPIO controller is probed correctly.
Taken from linux commit: bfdccbe92e6d ("pinctrl: qcom: spmi-gpio: add support
for {LV_VIN2, MV_VIN3}_CLK subtypes")
Signed-off-by: Deepak G <[email protected]>
---
drivers/gpio/qcom_spmi_gpio.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/drivers/gpio/qcom_spmi_gpio.c b/drivers/gpio/qcom_spmi_gpio.c
index d06b9a4b513..8cb9aa0a205 100644
--- a/drivers/gpio/qcom_spmi_gpio.c
+++ b/drivers/gpio/qcom_spmi_gpio.c
@@ -42,6 +42,8 @@
#define PMIC_GPIO_SUBTYPE_GPIO_MV 0x11
#define PMIC_GPIO_SUBTYPE_GPIO_LV_VIN2 0x12
#define PMIC_GPIO_SUBTYPE_GPIO_MV_VIN3 0x13
+#define PMIC_GPIO_SUBTYPE_GPIO_LV_VIN2_CLK 0x14
+#define PMIC_GPIO_SUBTYPE_GPIO_MV_VIN3_CLK 0x15
#define PMIC_MPP_REG_RT_STS 0x10
#define PMIC_MPP_REG_RT_STS_VAL_MASK 0x1
@@ -398,11 +400,13 @@ static int spmi_pmic_gpio_populate(struct
qcom_spmi_pmic_gpio_data *plat,
pad->lv_mv_type = true;
break;
case PMIC_GPIO_SUBTYPE_GPIO_LV_VIN2:
+ case PMIC_GPIO_SUBTYPE_GPIO_LV_VIN2_CLK:
pad->num_sources = 2;
pad->have_buffer = true;
pad->lv_mv_type = true;
break;
case PMIC_GPIO_SUBTYPE_GPIO_MV_VIN3:
+ case PMIC_GPIO_SUBTYPE_GPIO_MV_VIN3_CLK:
pad->num_sources = 3;
pad->have_buffer = true;
pad->lv_mv_type = true;
@@ -757,6 +761,7 @@ static const struct udevice_id qcom_spmi_pmic_gpio_ids[] = {
{ .compatible = "qcom,pm8350c-gpio" },
{ .compatible = "qcom,pmk8350-gpio" },
{ .compatible = "qcom,pmk8550-gpio" },
+ { .compatible = "qcom,pmm8654au-gpio" },
{ .compatible = "qcom,pmr735d-gpio" },
{ }
};
---
base-commit: b8668aa4114e445d020fcb68a223b7f0af74c1a9
change-id: 20261103-gpio-qcom_spmi-99ed8334ea98
Best regards,
--
Deepak G <[email protected]>