linux-omap.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v7 0/2] Add TI TPS65214 PMIC GPIO Support
@ 2025-07-21 23:31 Shree Ramamoorthy
  2025-07-21 23:31 ` [PATCH v7 1/2] gpio: tps65219: Update _IDX & _OFFSET macro prefix Shree Ramamoorthy
                   ` (2 more replies)
  0 siblings, 3 replies; 8+ messages in thread
From: Shree Ramamoorthy @ 2025-07-21 23:31 UTC (permalink / raw)
  To: aaro.koskinen, andreas, khilman, rogerq, tony, linus.walleij,
	brgl, linux-omap, linux-kernel, linux-gpio
  Cc: m-leonard, praneeth, jcormier, christophe.jaillet

The related MFD series was integrated in mainline during 6.15 cycle [0].

TPS65214 is a Power Management Integrated Circuit (PMIC) that has
significant register map overlap with TPS65219. The series introduces
TPS65214 and restructures the existing driver to support multiple devices.

TPS65215's GPIO specs are the same as TPS65219, so the "tps65219-gpio"
compatible string is assigned to two devices in the TPS65219 MFD driver.
No additional support is required in the GPIO driver for TPS65215.

- TPS65214 has 1 GPIO & 1 GPO, whereas TPS65219/TPS65215 both have 1 GPIO &
  2 GPOs.
- TPS65214' GPIO direction can be changed with register GENERAL_CONFIG and
  bit GPIO_CONFIG during device operation.
- TPS65219's MULTI_DEVICE_ENABLE bit in register MFP_1_CFG maps to
  TPS65214's GPIO_VSEL_CONFIG bit.

TPS65214 Datasheet: https://www.ti.com/lit/gpn/TPS65214
TPS65214 TRM: https://www.ti.com/lit/pdf/slvud30
TPS65215 TRM: https://www.ti.com/lit/pdf/slvucw5/

Tested on Jon Cormier's AM62x platform with TPS65219.
GPIO offsets remained consistent and functional.

Signed-off-by: Shree Ramamoorthy <s-ramamoorthy@ti.com>
Tested-by: Jonathan Cormier <jcormier@criticallink.com>
---
Change Log:
v6 -> v7:
- Update _set() to return an int because of set_rv() variant
- Fix comment format
- Consolidate dev_err call to one line
- Remove unused variable (dev) from tps65219_gpio_set
v5 -> v6:
- Add Jon Cormier Reviewed-by and Tested-by tags
- Add test info from Jon C. to cover letter
- Change copyright to include 2022 & 2025
- Use set_rv() variant instead of deprecated set()
v4 -> v5:
- Consolidate from 3 to 2 patches
- Add specific TPS65215 info to Patch 1 comments + commit message
- Remove chip_data struct
- Add separate dev-specific template_chip structs
- Add dev-specific change_direction functions + assignment in probe
- Add PMIC GPIO mapping explanation in comments for future users
- Add TPS65214 GPIO0 direction mask macro
- Rename _GPIO0_OFFSET in patch 1, in addition to _IDX macro
- Update cover letter + add TPS65214 datasheet link
v3 -> v4:
- Update cover letter
- Rebase for 6.16 cycle
v2 -> v3:
- Correct gpio_chip.ngpio line to use .offset field
- Remove unnecessary newlines
v1 -> v2:
- have any PMIC lists be in alpha-numeric order: TPS65215, then TPS65219
- remove comma after terminator
- Add driver prefix to chip_data struct
---
[0]:
https://lore.kernel.org/all/173928615760.2233464.12306998726512431222.b4-ty@kernel.org/

Shree Ramamoorthy (2):
  gpio: tps65219: Update _IDX & _OFFSET macro prefix
  gpio: tps65219: Add support for TI TPS65214 PMIC

 drivers/gpio/gpio-tps65219.c | 123 +++++++++++++++++++++++++++++------
 1 file changed, 104 insertions(+), 19 deletions(-)

-- 
2.43.0


^ permalink raw reply	[flat|nested] 8+ messages in thread

* [PATCH v7 1/2] gpio: tps65219: Update _IDX & _OFFSET macro prefix
  2025-07-21 23:31 [PATCH v7 0/2] Add TI TPS65214 PMIC GPIO Support Shree Ramamoorthy
@ 2025-07-21 23:31 ` Shree Ramamoorthy
  2025-07-21 23:31 ` [PATCH v7 2/2] gpio: tps65219: Add support for TI TPS65214 PMIC Shree Ramamoorthy
  2025-07-22 12:33 ` [PATCH v7 0/2] Add TI TPS65214 PMIC GPIO Support Bartosz Golaszewski
  2 siblings, 0 replies; 8+ messages in thread
From: Shree Ramamoorthy @ 2025-07-21 23:31 UTC (permalink / raw)
  To: aaro.koskinen, andreas, khilman, rogerq, tony, linus.walleij,
	brgl, linux-omap, linux-kernel, linux-gpio
  Cc: m-leonard, praneeth, jcormier, christophe.jaillet

TPS65215 and TPS65219 are overlapping PMIC devices. While their regulator
features differe, the GPIO features are the same. In the TPS65219 MFD
driver, the 2 PMICs share the same "tps65219-gpio" compatible string to
limit support for TPS65215 in this GPIO driver to comments.

The TPS6521X_GPIO0_IDX and TPS6521X_GPIO0_OFFSET macro name prefixes are
updated to indicate these macros apply to both PMICs.

Reviewed-by: Roger Quadros <rogerq@kernel.org>
Acked-by: Linus Walleij <linus.walleij@linaro.org>
Reviewed-by: Jonathan Cormier <jcormier@criticallink.com>
Signed-off-by: Shree Ramamoorthy <s-ramamoorthy@ti.com>
---
 drivers/gpio/gpio-tps65219.c | 27 +++++++++++++++++----------
 1 file changed, 17 insertions(+), 10 deletions(-)

diff --git a/drivers/gpio/gpio-tps65219.c b/drivers/gpio/gpio-tps65219.c
index 526640c39a11..2355eec0cee6 100644
--- a/drivers/gpio/gpio-tps65219.c
+++ b/drivers/gpio/gpio-tps65219.c
@@ -1,8 +1,8 @@
 // SPDX-License-Identifier: GPL-2.0
 /*
- * GPIO driver for TI TPS65219 PMICs
+ * GPIO driver for TI TPS65215/TPS65219 PMICs
  *
- * Copyright (C) 2022 Texas Instruments Incorporated - http://www.ti.com/
+ * Copyright (C) 2022, 2025 Texas Instruments Incorporated - http://www.ti.com/
  */
 
 #include <linux/bits.h>
@@ -13,8 +13,15 @@
 #include <linux/regmap.h>
 
 #define TPS65219_GPIO0_DIR_MASK		BIT(3)
-#define TPS65219_GPIO0_OFFSET		2
-#define TPS65219_GPIO0_IDX		0
+#define TPS6521X_GPIO0_OFFSET		2
+#define TPS6521X_GPIO0_IDX		0
+
+/*
+ * TPS65215 & TPS65219 GPIO mapping
+ * Linux gpio offset 0 -> GPIO (pin16) -> bit_offset 2
+ * Linux gpio offset 1 -> GPO1 (pin8 ) -> bit_offset 0
+ * Linux gpio offset 2 -> GPO2 (pin17) -> bit_offset 1
+ */
 
 struct tps65219_gpio {
 	struct gpio_chip gpio_chip;
@@ -26,7 +33,7 @@ static int tps65219_gpio_get_direction(struct gpio_chip *gc, unsigned int offset
 	struct tps65219_gpio *gpio = gpiochip_get_data(gc);
 	int ret, val;
 
-	if (offset != TPS65219_GPIO0_IDX)
+	if (offset != TPS6521X_GPIO0_IDX)
 		return GPIO_LINE_DIRECTION_OUT;
 
 	ret = regmap_read(gpio->tps->regmap, TPS65219_REG_MFP_1_CONFIG, &val);
@@ -42,7 +49,7 @@ static int tps65219_gpio_get(struct gpio_chip *gc, unsigned int offset)
 	struct device *dev = gpio->tps->dev;
 	int ret, val;
 
-	if (offset != TPS65219_GPIO0_IDX) {
+	if (offset != TPS6521X_GPIO0_IDX) {
 		dev_err(dev, "GPIO%d is output only, cannot get\n", offset);
 		return -ENOTSUPP;
 	}
@@ -71,7 +78,7 @@ static void tps65219_gpio_set(struct gpio_chip *gc, unsigned int offset, int val
 	struct device *dev = gpio->tps->dev;
 	int v, mask, bit;
 
-	bit = (offset == TPS65219_GPIO0_IDX) ? TPS65219_GPIO0_OFFSET : offset - 1;
+	bit = (offset == TPS6521X_GPIO0_IDX) ? TPS6521X_GPIO0_OFFSET : offset - 1;
 
 	mask = BIT(bit);
 	v = value ? mask : 0;
@@ -117,7 +124,7 @@ static int tps65219_gpio_direction_input(struct gpio_chip *gc, unsigned int offs
 	struct tps65219_gpio *gpio = gpiochip_get_data(gc);
 	struct device *dev = gpio->tps->dev;
 
-	if (offset != TPS65219_GPIO0_IDX) {
+	if (offset != TPS6521X_GPIO0_IDX) {
 		dev_err(dev, "GPIO%d is output only, cannot change to input\n", offset);
 		return -ENOTSUPP;
 	}
@@ -131,7 +138,7 @@ static int tps65219_gpio_direction_input(struct gpio_chip *gc, unsigned int offs
 static int tps65219_gpio_direction_output(struct gpio_chip *gc, unsigned int offset, int value)
 {
 	tps65219_gpio_set(gc, offset, value);
-	if (offset != TPS65219_GPIO0_IDX)
+	if (offset != TPS6521X_GPIO0_IDX)
 		return 0;
 
 	if (tps65219_gpio_get_direction(gc, offset) == GPIO_LINE_DIRECTION_OUT)
@@ -179,5 +186,5 @@ module_platform_driver(tps65219_gpio_driver);
 
 MODULE_ALIAS("platform:tps65219-gpio");
 MODULE_AUTHOR("Jonathan Cormier <jcormier@criticallink.com>");
-MODULE_DESCRIPTION("TPS65219 GPIO driver");
+MODULE_DESCRIPTION("TPS65215/TPS65219 GPIO driver");
 MODULE_LICENSE("GPL");
-- 
2.43.0


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [PATCH v7 2/2] gpio: tps65219: Add support for TI TPS65214 PMIC
  2025-07-21 23:31 [PATCH v7 0/2] Add TI TPS65214 PMIC GPIO Support Shree Ramamoorthy
  2025-07-21 23:31 ` [PATCH v7 1/2] gpio: tps65219: Update _IDX & _OFFSET macro prefix Shree Ramamoorthy
@ 2025-07-21 23:31 ` Shree Ramamoorthy
  2025-07-22 12:33 ` [PATCH v7 0/2] Add TI TPS65214 PMIC GPIO Support Bartosz Golaszewski
  2 siblings, 0 replies; 8+ messages in thread
From: Shree Ramamoorthy @ 2025-07-21 23:31 UTC (permalink / raw)
  To: aaro.koskinen, andreas, khilman, rogerq, tony, linus.walleij,
	brgl, linux-omap, linux-kernel, linux-gpio
  Cc: m-leonard, praneeth, jcormier, christophe.jaillet

Add support for the TI TPS65214 PMIC with the addition of an id_table,
separate TPS65214 template_chip, and device-specific _change_direction
functions.

- Use platform_get_device_id() to assign dev-specific information.
- Use different change_direction() functions since TPS65214's GPIO
  configuration bits are changeable during device operation through bit
  GPIO_CONFIG in GENERAL_CONFIG register.
- Remove MODULE_ALIAS since it is now generated by MODULE_DEVICE_TABLE.
- Update _template_chip structs to .set_rv instead of .set. .set_rv
  supports callbacks for setting line values that return an integer,
  allowing it to indicate failures.
- Remove dev (unused variable) from tps65219_gpio_set function

Reviewed-by: Jonathan Cormier <jcormier@criticallink.com>
Tested-by: Jonathan Cormier <jcormier@criticallink.com>
Signed-off-by: Shree Ramamoorthy <s-ramamoorthy@ti.com>
---
 drivers/gpio/gpio-tps65219.c | 100 +++++++++++++++++++++++++++++++----
 1 file changed, 89 insertions(+), 11 deletions(-)

diff --git a/drivers/gpio/gpio-tps65219.c b/drivers/gpio/gpio-tps65219.c
index 2355eec0cee6..def599531a89 100644
--- a/drivers/gpio/gpio-tps65219.c
+++ b/drivers/gpio/gpio-tps65219.c
@@ -1,6 +1,6 @@
 // SPDX-License-Identifier: GPL-2.0
 /*
- * GPIO driver for TI TPS65215/TPS65219 PMICs
+ * GPIO driver for TI TPS65214/TPS65215/TPS65219 PMICs
  *
  * Copyright (C) 2022, 2025 Texas Instruments Incorporated - http://www.ti.com/
  */
@@ -13,10 +13,15 @@
 #include <linux/regmap.h>
 
 #define TPS65219_GPIO0_DIR_MASK		BIT(3)
+#define TPS65214_GPIO0_DIR_MASK		BIT(1)
 #define TPS6521X_GPIO0_OFFSET		2
 #define TPS6521X_GPIO0_IDX		0
 
 /*
+ * TPS65214 GPIO mapping
+ * Linux gpio offset 0 -> GPIO (pin16) -> bit_offset 2
+ * Linux gpio offset 1 -> GPO1 (pin9 ) -> bit_offset 0
+ *
  * TPS65215 & TPS65219 GPIO mapping
  * Linux gpio offset 0 -> GPIO (pin16) -> bit_offset 2
  * Linux gpio offset 1 -> GPO1 (pin8 ) -> bit_offset 0
@@ -24,10 +29,26 @@
  */
 
 struct tps65219_gpio {
+	int (*change_dir)(struct gpio_chip *gc, unsigned int offset, unsigned int dir);
 	struct gpio_chip gpio_chip;
 	struct tps65219 *tps;
 };
 
+static int tps65214_gpio_get_direction(struct gpio_chip *gc, unsigned int offset)
+{
+	struct tps65219_gpio *gpio = gpiochip_get_data(gc);
+	int ret, val;
+
+	if (offset != TPS6521X_GPIO0_IDX)
+		return GPIO_LINE_DIRECTION_OUT;
+
+	ret = regmap_read(gpio->tps->regmap, TPS65219_REG_GENERAL_CONFIG, &val);
+	if (ret)
+		return ret;
+
+	return !(val & TPS65214_GPIO0_DIR_MASK);
+}
+
 static int tps65219_gpio_get_direction(struct gpio_chip *gc, unsigned int offset)
 {
 	struct tps65219_gpio *gpio = gpiochip_get_data(gc);
@@ -72,10 +93,9 @@ static int tps65219_gpio_get(struct gpio_chip *gc, unsigned int offset)
 	return ret;
 }
 
-static void tps65219_gpio_set(struct gpio_chip *gc, unsigned int offset, int value)
+static int tps65219_gpio_set(struct gpio_chip *gc, unsigned int offset, int value)
 {
 	struct tps65219_gpio *gpio = gpiochip_get_data(gc);
-	struct device *dev = gpio->tps->dev;
 	int v, mask, bit;
 
 	bit = (offset == TPS6521X_GPIO0_IDX) ? TPS6521X_GPIO0_OFFSET : offset - 1;
@@ -83,8 +103,7 @@ static void tps65219_gpio_set(struct gpio_chip *gc, unsigned int offset, int val
 	mask = BIT(bit);
 	v = value ? mask : 0;
 
-	if (regmap_update_bits(gpio->tps->regmap, TPS65219_REG_GENERAL_CONFIG, mask, v))
-		dev_err(dev, "GPIO%d, set to value %d failed.\n", offset, value);
+	return regmap_update_bits(gpio->tps->regmap, TPS65219_REG_GENERAL_CONFIG, mask, v);
 }
 
 static int tps65219_gpio_change_direction(struct gpio_chip *gc, unsigned int offset,
@@ -119,6 +138,33 @@ static int tps65219_gpio_change_direction(struct gpio_chip *gc, unsigned int off
 	return -ENOTSUPP;
 }
 
+static int tps65214_gpio_change_direction(struct gpio_chip *gc, unsigned int offset,
+					  unsigned int direction)
+{
+	struct tps65219_gpio *gpio = gpiochip_get_data(gc);
+	struct device *dev = gpio->tps->dev;
+	int val, ret;
+
+	/**
+	 * Verified if GPIO or GPO in parent function
+	 * Masked value: 0 = GPIO, 1 = VSEL
+	 */
+	ret = regmap_read(gpio->tps->regmap, TPS65219_REG_MFP_1_CONFIG, &val);
+	if (ret)
+		return ret;
+
+	ret = !!(val & BIT(TPS65219_GPIO0_DIR_MASK));
+	if (ret)
+		dev_err(dev, "GPIO%d configured as VSEL, not GPIO\n", offset);
+
+	ret = regmap_update_bits(gpio->tps->regmap, TPS65219_REG_GENERAL_CONFIG,
+				 TPS65214_GPIO0_DIR_MASK, direction);
+	if (ret)
+		dev_err(dev, "Fail to change direction to %u for GPIO%d.\n", direction, offset);
+
+	return ret;
+}
+
 static int tps65219_gpio_direction_input(struct gpio_chip *gc, unsigned int offset)
 {
 	struct tps65219_gpio *gpio = gpiochip_get_data(gc);
@@ -132,11 +178,13 @@ static int tps65219_gpio_direction_input(struct gpio_chip *gc, unsigned int offs
 	if (tps65219_gpio_get_direction(gc, offset) == GPIO_LINE_DIRECTION_IN)
 		return 0;
 
-	return tps65219_gpio_change_direction(gc, offset, GPIO_LINE_DIRECTION_IN);
+	return gpio->change_dir(gc, offset, GPIO_LINE_DIRECTION_IN);
 }
 
 static int tps65219_gpio_direction_output(struct gpio_chip *gc, unsigned int offset, int value)
 {
+	struct tps65219_gpio *gpio = gpiochip_get_data(gc);
+
 	tps65219_gpio_set(gc, offset, value);
 	if (offset != TPS6521X_GPIO0_IDX)
 		return 0;
@@ -144,9 +192,22 @@ static int tps65219_gpio_direction_output(struct gpio_chip *gc, unsigned int off
 	if (tps65219_gpio_get_direction(gc, offset) == GPIO_LINE_DIRECTION_OUT)
 		return 0;
 
-	return tps65219_gpio_change_direction(gc, offset, GPIO_LINE_DIRECTION_OUT);
+	return gpio->change_dir(gc, offset, GPIO_LINE_DIRECTION_OUT);
 }
 
+static const struct gpio_chip tps65214_template_chip = {
+	.label			= "tps65214-gpio",
+	.owner			= THIS_MODULE,
+	.get_direction		= tps65214_gpio_get_direction,
+	.direction_input	= tps65219_gpio_direction_input,
+	.direction_output	= tps65219_gpio_direction_output,
+	.get			= tps65219_gpio_get,
+	.set_rv			= tps65219_gpio_set,
+	.base			= -1,
+	.ngpio			= 2,
+	.can_sleep		= true,
+};
+
 static const struct gpio_chip tps65219_template_chip = {
 	.label			= "tps65219-gpio",
 	.owner			= THIS_MODULE,
@@ -154,7 +215,7 @@ static const struct gpio_chip tps65219_template_chip = {
 	.direction_input	= tps65219_gpio_direction_input,
 	.direction_output	= tps65219_gpio_direction_output,
 	.get			= tps65219_gpio_get,
-	.set			= tps65219_gpio_set,
+	.set_rv			= tps65219_gpio_set,
 	.base			= -1,
 	.ngpio			= 3,
 	.can_sleep		= true,
@@ -162,6 +223,7 @@ static const struct gpio_chip tps65219_template_chip = {
 
 static int tps65219_gpio_probe(struct platform_device *pdev)
 {
+	enum pmic_id chip = platform_get_device_id(pdev)->driver_data;
 	struct tps65219 *tps = dev_get_drvdata(pdev->dev.parent);
 	struct tps65219_gpio *gpio;
 
@@ -169,22 +231,38 @@ static int tps65219_gpio_probe(struct platform_device *pdev)
 	if (!gpio)
 		return -ENOMEM;
 
+	if (chip == TPS65214) {
+		gpio->gpio_chip = tps65214_template_chip;
+		gpio->change_dir = tps65214_gpio_change_direction;
+	} else if (chip == TPS65219) {
+		gpio->gpio_chip = tps65219_template_chip;
+		gpio->change_dir = tps65219_gpio_change_direction;
+	} else {
+		return -ENODATA;
+	}
+
 	gpio->tps = tps;
-	gpio->gpio_chip = tps65219_template_chip;
 	gpio->gpio_chip.parent = tps->dev;
 
 	return devm_gpiochip_add_data(&pdev->dev, &gpio->gpio_chip, gpio);
 }
 
+static const struct platform_device_id tps6521x_gpio_id_table[] = {
+	{ "tps65214-gpio", TPS65214 },
+	{ "tps65219-gpio", TPS65219 },
+	{ /* sentinel */ }
+};
+MODULE_DEVICE_TABLE(platform, tps6521x_gpio_id_table);
+
 static struct platform_driver tps65219_gpio_driver = {
 	.driver = {
 		.name = "tps65219-gpio",
 	},
 	.probe = tps65219_gpio_probe,
+	.id_table = tps6521x_gpio_id_table,
 };
 module_platform_driver(tps65219_gpio_driver);
 
-MODULE_ALIAS("platform:tps65219-gpio");
 MODULE_AUTHOR("Jonathan Cormier <jcormier@criticallink.com>");
-MODULE_DESCRIPTION("TPS65215/TPS65219 GPIO driver");
+MODULE_DESCRIPTION("TPS65214/TPS65215/TPS65219 GPIO driver");
 MODULE_LICENSE("GPL");
-- 
2.43.0


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* Re: [PATCH v7 0/2] Add TI TPS65214 PMIC GPIO Support
  2025-07-21 23:31 [PATCH v7 0/2] Add TI TPS65214 PMIC GPIO Support Shree Ramamoorthy
  2025-07-21 23:31 ` [PATCH v7 1/2] gpio: tps65219: Update _IDX & _OFFSET macro prefix Shree Ramamoorthy
  2025-07-21 23:31 ` [PATCH v7 2/2] gpio: tps65219: Add support for TI TPS65214 PMIC Shree Ramamoorthy
@ 2025-07-22 12:33 ` Bartosz Golaszewski
  2025-07-22 14:16   ` Jon Cormier
  2025-07-22 15:23   ` Shree Ramamoorthy
  2 siblings, 2 replies; 8+ messages in thread
From: Bartosz Golaszewski @ 2025-07-22 12:33 UTC (permalink / raw)
  To: Shree Ramamoorthy
  Cc: aaro.koskinen, andreas, khilman, rogerq, tony, linus.walleij,
	linux-omap, linux-kernel, linux-gpio, m-leonard, praneeth,
	jcormier, christophe.jaillet

On Tue, Jul 22, 2025 at 1:32 AM Shree Ramamoorthy <s-ramamoorthy@ti.com> wrote:
>
> The related MFD series was integrated in mainline during 6.15 cycle [0].
>
> TPS65214 is a Power Management Integrated Circuit (PMIC) that has
> significant register map overlap with TPS65219. The series introduces
> TPS65214 and restructures the existing driver to support multiple devices.
>
> TPS65215's GPIO specs are the same as TPS65219, so the "tps65219-gpio"
> compatible string is assigned to two devices in the TPS65219 MFD driver.
> No additional support is required in the GPIO driver for TPS65215.
>
> - TPS65214 has 1 GPIO & 1 GPO, whereas TPS65219/TPS65215 both have 1 GPIO &
>   2 GPOs.
> - TPS65214' GPIO direction can be changed with register GENERAL_CONFIG and
>   bit GPIO_CONFIG during device operation.
> - TPS65219's MULTI_DEVICE_ENABLE bit in register MFP_1_CFG maps to
>   TPS65214's GPIO_VSEL_CONFIG bit.
>
> TPS65214 Datasheet: https://www.ti.com/lit/gpn/TPS65214
> TPS65214 TRM: https://www.ti.com/lit/pdf/slvud30
> TPS65215 TRM: https://www.ti.com/lit/pdf/slvucw5/
>
> Tested on Jon Cormier's AM62x platform with TPS65219.
> GPIO offsets remained consistent and functional.
>
> Signed-off-by: Shree Ramamoorthy <s-ramamoorthy@ti.com>
> Tested-by: Jonathan Cormier <jcormier@criticallink.com>
> ---

This doesn't apply on top of my gpio/for-next branch. Do you think you
can quickly submit another iteration rebased on top of it?

Bartosz

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH v7 0/2] Add TI TPS65214 PMIC GPIO Support
  2025-07-22 12:33 ` [PATCH v7 0/2] Add TI TPS65214 PMIC GPIO Support Bartosz Golaszewski
@ 2025-07-22 14:16   ` Jon Cormier
  2025-07-22 14:31     ` Bartosz Golaszewski
  2025-07-22 15:23   ` Shree Ramamoorthy
  1 sibling, 1 reply; 8+ messages in thread
From: Jon Cormier @ 2025-07-22 14:16 UTC (permalink / raw)
  To: Bartosz Golaszewski
  Cc: Shree Ramamoorthy, aaro.koskinen, andreas, khilman, rogerq, tony,
	linus.walleij, linux-omap, linux-kernel, linux-gpio, m-leonard,
	praneeth, christophe.jaillet

On Tue, Jul 22, 2025 at 8:33 AM Bartosz Golaszewski <brgl@bgdev.pl> wrote:
>
> On Tue, Jul 22, 2025 at 1:32 AM Shree Ramamoorthy <s-ramamoorthy@ti.com> wrote:
> >
> > The related MFD series was integrated in mainline during 6.15 cycle [0].
> >
> > TPS65214 is a Power Management Integrated Circuit (PMIC) that has
> > significant register map overlap with TPS65219. The series introduces
> > TPS65214 and restructures the existing driver to support multiple devices.
> >
> > TPS65215's GPIO specs are the same as TPS65219, so the "tps65219-gpio"
> > compatible string is assigned to two devices in the TPS65219 MFD driver.
> > No additional support is required in the GPIO driver for TPS65215.
> >
> > - TPS65214 has 1 GPIO & 1 GPO, whereas TPS65219/TPS65215 both have 1 GPIO &
> >   2 GPOs.
> > - TPS65214' GPIO direction can be changed with register GENERAL_CONFIG and
> >   bit GPIO_CONFIG during device operation.
> > - TPS65219's MULTI_DEVICE_ENABLE bit in register MFP_1_CFG maps to
> >   TPS65214's GPIO_VSEL_CONFIG bit.
> >
> > TPS65214 Datasheet: https://www.ti.com/lit/gpn/TPS65214
> > TPS65214 TRM: https://www.ti.com/lit/pdf/slvud30
> > TPS65215 TRM: https://www.ti.com/lit/pdf/slvucw5/
> >
> > Tested on Jon Cormier's AM62x platform with TPS65219.
> > GPIO offsets remained consistent and functional.
> >
> > Signed-off-by: Shree Ramamoorthy <s-ramamoorthy@ti.com>
> > Tested-by: Jonathan Cormier <jcormier@criticallink.com>
> > ---
>
> This doesn't apply on top of my gpio/for-next branch. Do you think you
> can quickly submit another iteration rebased on top of it?
Maybe this is a basic question but is there a rule of thumb for where
to base patches to be submitted to the mailing lists?  I've generally
been basing them off the latest tag in linux-stable/master.  I suppose
this might be one of those it depends on the subsystem things?
>
> Bartosz



-- 
Jonathan Cormier
Senior Software Engineer

Voice:  315.425.4045 x222

http://www.CriticalLink.com
6712 Brooklawn Parkway, Syracuse, NY 13211

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH v7 0/2] Add TI TPS65214 PMIC GPIO Support
  2025-07-22 14:16   ` Jon Cormier
@ 2025-07-22 14:31     ` Bartosz Golaszewski
  2025-07-22 14:32       ` Jon Cormier
  0 siblings, 1 reply; 8+ messages in thread
From: Bartosz Golaszewski @ 2025-07-22 14:31 UTC (permalink / raw)
  To: Jon Cormier
  Cc: Shree Ramamoorthy, aaro.koskinen, andreas, khilman, rogerq, tony,
	linus.walleij, linux-omap, linux-kernel, linux-gpio, m-leonard,
	praneeth, christophe.jaillet

On Tue, Jul 22, 2025 at 4:16 PM Jon Cormier <jcormier@criticallink.com> wrote:
> >
> > This doesn't apply on top of my gpio/for-next branch. Do you think you
> > can quickly submit another iteration rebased on top of it?
> Maybe this is a basic question but is there a rule of thumb for where
> to base patches to be submitted to the mailing lists?  I've generally
> been basing them off the latest tag in linux-stable/master.  I suppose
> this might be one of those it depends on the subsystem things?
> >

I feed my tree into linux next, so generally using linux-next/master
would be your best bet. The rule of thumb typically is checking the
subsystem's git tree in MAINTAINERS and using whatever branch goes
into the next release.

Bartosz

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH v7 0/2] Add TI TPS65214 PMIC GPIO Support
  2025-07-22 14:31     ` Bartosz Golaszewski
@ 2025-07-22 14:32       ` Jon Cormier
  0 siblings, 0 replies; 8+ messages in thread
From: Jon Cormier @ 2025-07-22 14:32 UTC (permalink / raw)
  To: Bartosz Golaszewski
  Cc: Shree Ramamoorthy, aaro.koskinen, andreas, khilman, rogerq, tony,
	linus.walleij, linux-omap, linux-kernel, linux-gpio, m-leonard,
	praneeth, christophe.jaillet

On Tue, Jul 22, 2025 at 10:31 AM Bartosz Golaszewski <brgl@bgdev.pl> wrote:
>
> On Tue, Jul 22, 2025 at 4:16 PM Jon Cormier <jcormier@criticallink.com> wrote:
> > >
> > > This doesn't apply on top of my gpio/for-next branch. Do you think you
> > > can quickly submit another iteration rebased on top of it?
> > Maybe this is a basic question but is there a rule of thumb for where
> > to base patches to be submitted to the mailing lists?  I've generally
> > been basing them off the latest tag in linux-stable/master.  I suppose
> > this might be one of those it depends on the subsystem things?
> > >
>
> I feed my tree into linux next, so generally using linux-next/master
> would be your best bet. The rule of thumb typically is checking the
> subsystem's git tree in MAINTAINERS and using whatever branch goes
> into the next release.
Awesome, thanks for the info!
>
> Bartosz



-- 
Jonathan Cormier
Senior Software Engineer

Voice:  315.425.4045 x222

http://www.CriticalLink.com
6712 Brooklawn Parkway, Syracuse, NY 13211

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH v7 0/2] Add TI TPS65214 PMIC GPIO Support
  2025-07-22 12:33 ` [PATCH v7 0/2] Add TI TPS65214 PMIC GPIO Support Bartosz Golaszewski
  2025-07-22 14:16   ` Jon Cormier
@ 2025-07-22 15:23   ` Shree Ramamoorthy
  1 sibling, 0 replies; 8+ messages in thread
From: Shree Ramamoorthy @ 2025-07-22 15:23 UTC (permalink / raw)
  To: Bartosz Golaszewski
  Cc: aaro.koskinen, andreas, khilman, rogerq, tony, linus.walleij,
	linux-omap, linux-kernel, linux-gpio, m-leonard, praneeth,
	jcormier, christophe.jaillet

On 7/22/2025 7:33 AM, Bartosz Golaszewski wrote:
> On Tue, Jul 22, 2025 at 1:32 AM Shree Ramamoorthy <s-ramamoorthy@ti.com> wrote:
>> The related MFD series was integrated in mainline during 6.15 cycle [0].
>>
>> TPS65214 is a Power Management Integrated Circuit (PMIC) that has
>> significant register map overlap with TPS65219. The series introduces
>> TPS65214 and restructures the existing driver to support multiple devices.
>>
>> TPS65215's GPIO specs are the same as TPS65219, so the "tps65219-gpio"
>> compatible string is assigned to two devices in the TPS65219 MFD driver.
>> No additional support is required in the GPIO driver for TPS65215.
>>
>> - TPS65214 has 1 GPIO & 1 GPO, whereas TPS65219/TPS65215 both have 1 GPIO &
>>   2 GPOs.
>> - TPS65214' GPIO direction can be changed with register GENERAL_CONFIG and
>>   bit GPIO_CONFIG during device operation.
>> - TPS65219's MULTI_DEVICE_ENABLE bit in register MFP_1_CFG maps to
>>   TPS65214's GPIO_VSEL_CONFIG bit.
>>
>> TPS65214 Datasheet: https://www.ti.com/lit/gpn/TPS65214
>> TPS65214 TRM: https://www.ti.com/lit/pdf/slvud30
>> TPS65215 TRM: https://www.ti.com/lit/pdf/slvucw5/
>>
>> Tested on Jon Cormier's AM62x platform with TPS65219.
>> GPIO offsets remained consistent and functional.
>>
>> Signed-off-by: Shree Ramamoorthy <s-ramamoorthy@ti.com>
>> Tested-by: Jonathan Cormier <jcormier@criticallink.com>
>> ---
> This doesn't apply on top of my gpio/for-next branch. Do you think you
> can quickly submit another iteration rebased on top of it?

Will rebase and re-submit! Would I send it as v7 RESUBMIT or v8?

>
> Bartosz

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2025-07-22 15:24 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-07-21 23:31 [PATCH v7 0/2] Add TI TPS65214 PMIC GPIO Support Shree Ramamoorthy
2025-07-21 23:31 ` [PATCH v7 1/2] gpio: tps65219: Update _IDX & _OFFSET macro prefix Shree Ramamoorthy
2025-07-21 23:31 ` [PATCH v7 2/2] gpio: tps65219: Add support for TI TPS65214 PMIC Shree Ramamoorthy
2025-07-22 12:33 ` [PATCH v7 0/2] Add TI TPS65214 PMIC GPIO Support Bartosz Golaszewski
2025-07-22 14:16   ` Jon Cormier
2025-07-22 14:31     ` Bartosz Golaszewski
2025-07-22 14:32       ` Jon Cormier
2025-07-22 15:23   ` Shree Ramamoorthy

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).