* [PATCH] Revert "regulator: tps65219: Add TI TPS65214 Regulator Support"
@ 2025-06-19 15:35 Dhruva Gole
2025-06-19 17:30 ` Andreas Kemnade
` (2 more replies)
0 siblings, 3 replies; 7+ messages in thread
From: Dhruva Gole @ 2025-06-19 15:35 UTC (permalink / raw)
To: s-ramamoorthy, lgirdwood, broonie, aaro.koskinen, andreas,
khilman, rogerq, tony, linux-omap, linux-kernel
Cc: m-leonard, praneeth, Robert Nelson, d-gole
This reverts commit f1471bc435afa31c8c0c58551922830dc8f4b06b.
This was causing boot regressions [1] on many BeagleBoard platforms
like the AM62x based BeaglePlay and PocketBeagle-2.
[1] https://gist.github.com/DhruvaG2000/75b7d5ced6c09d508ee0ad5ab1f19707
Signed-off-by: Dhruva Gole <d-gole@ti.com>
---
drivers/regulator/Kconfig | 9 +---
drivers/regulator/tps65219-regulator.c | 73 ++++----------------------
2 files changed, 13 insertions(+), 69 deletions(-)
diff --git a/drivers/regulator/Kconfig b/drivers/regulator/Kconfig
index 7423954153b0..fa9a9a5d1a03 100644
--- a/drivers/regulator/Kconfig
+++ b/drivers/regulator/Kconfig
@@ -1601,16 +1601,11 @@ config REGULATOR_TPS65219
tristate "TI TPS65219 Power regulators"
depends on MFD_TPS65219 && OF
help
- This driver supports TPS65219, TPS65215, and TPS65214 voltage
- regulator chips.
+ This driver supports TPS65219 series and TPS65215 voltage regulator chips.
TPS65219 series of PMICs have 3 single phase BUCKs & 4 LDOs
voltage regulators.
TPS65215 PMIC has 3 single phase BUCKs & 2 LDOs.
- TPS65214 PMIC has 3 synchronous stepdown DC-DC converters & 2
- LDOs. One LDO supports a maximum output current of 300 mA and the
- other a maximum of 500 mA
- All 3 PMICs support software based voltage control for different
- voltage domains.
+ Both PMICs support software based voltage control for different voltage domains.
config REGULATOR_TPS6594
tristate "TI TPS6594 Power regulators"
diff --git a/drivers/regulator/tps65219-regulator.c b/drivers/regulator/tps65219-regulator.c
index b16b300d7f45..d84ab9586ec4 100644
--- a/drivers/regulator/tps65219-regulator.c
+++ b/drivers/regulator/tps65219-regulator.c
@@ -1,6 +1,6 @@
// SPDX-License-Identifier: GPL-2.0
//
-// TPS65214/TPS65215/TPS65219 PMIC Regulator Driver
+// Regulator driver for TPS65215/TPS65219 PMIC
//
// Copyright (C) 2022 BayLibre Incorporated - https://www.baylibre.com/
// Copyright (C) 2024 Texas Instruments Incorporated - https://www.ti.com/
@@ -29,11 +29,6 @@ struct tps65219_regulator_irq_type {
unsigned long event;
};
-static struct tps65219_regulator_irq_type tps65215_regulator_irq_types[] = {
- { "SENSOR_3_WARM", "SENSOR3", "warm temperature", REGULATOR_EVENT_OVER_TEMP_WARN},
- { "SENSOR_3_HOT", "SENSOR3", "hot temperature", REGULATOR_EVENT_OVER_TEMP},
-};
-
static struct tps65219_regulator_irq_type tps65219_regulator_irq_types[] = {
{ "LDO3_SCG", "LDO3", "short circuit to ground", REGULATOR_EVENT_REGULATION_OUT },
{ "LDO3_OC", "LDO3", "overcurrent", REGULATOR_EVENT_OVER_CURRENT },
@@ -45,11 +40,9 @@ static struct tps65219_regulator_irq_type tps65219_regulator_irq_types[] = {
{ "LDO4_RV", "LDO4", "residual voltage", REGULATOR_EVENT_OVER_VOLTAGE_WARN },
{ "LDO3_RV_SD", "LDO3", "residual voltage on shutdown", REGULATOR_EVENT_OVER_VOLTAGE_WARN },
{ "LDO4_RV_SD", "LDO4", "residual voltage on shutdown", REGULATOR_EVENT_OVER_VOLTAGE_WARN },
- { "SENSOR_3_WARM", "SENSOR3", "warm temperature", REGULATOR_EVENT_OVER_TEMP_WARN},
- { "SENSOR_3_HOT", "SENSOR3", "hot temperature", REGULATOR_EVENT_OVER_TEMP},
};
-/* All of TPS65214's irq types are the same as common_regulator_irq_types */
+/* All of TPS65215's irq types are the same as common_regulator_irq_types */
static struct tps65219_regulator_irq_type common_regulator_irq_types[] = {
{ "LDO1_SCG", "LDO1", "short circuit to ground", REGULATOR_EVENT_REGULATION_OUT },
{ "LDO1_OC", "LDO1", "overcurrent", REGULATOR_EVENT_OVER_CURRENT },
@@ -82,9 +75,11 @@ static struct tps65219_regulator_irq_type common_regulator_irq_types[] = {
REGULATOR_EVENT_OVER_VOLTAGE_WARN },
{ "LDO1_RV_SD", "LDO1", "residual voltage on shutdown", REGULATOR_EVENT_OVER_VOLTAGE_WARN },
{ "LDO2_RV_SD", "LDO2", "residual voltage on shutdown", REGULATOR_EVENT_OVER_VOLTAGE_WARN },
+ { "SENSOR_3_WARM", "SENSOR3", "warm temperature", REGULATOR_EVENT_OVER_TEMP_WARN},
{ "SENSOR_2_WARM", "SENSOR2", "warm temperature", REGULATOR_EVENT_OVER_TEMP_WARN },
{ "SENSOR_1_WARM", "SENSOR1", "warm temperature", REGULATOR_EVENT_OVER_TEMP_WARN },
{ "SENSOR_0_WARM", "SENSOR0", "warm temperature", REGULATOR_EVENT_OVER_TEMP_WARN },
+ { "SENSOR_3_HOT", "SENSOR3", "hot temperature", REGULATOR_EVENT_OVER_TEMP},
{ "SENSOR_2_HOT", "SENSOR2", "hot temperature", REGULATOR_EVENT_OVER_TEMP },
{ "SENSOR_1_HOT", "SENSOR1", "hot temperature", REGULATOR_EVENT_OVER_TEMP },
{ "SENSOR_0_HOT", "SENSOR0", "hot temperature", REGULATOR_EVENT_OVER_TEMP },
@@ -138,12 +133,6 @@ static const struct linear_range ldo_1_range[] = {
REGULATOR_LINEAR_RANGE(3400000, 0x38, 0x3f, 0),
};
-static const struct linear_range tps65214_ldo_1_2_range[] = {
- REGULATOR_LINEAR_RANGE(600000, 0x0, 0x2, 0),
- REGULATOR_LINEAR_RANGE(650000, 0x3, 0x37, 50000),
- REGULATOR_LINEAR_RANGE(3300000, 0x38, 0x3F, 0),
-};
-
static const struct linear_range tps65215_ldo_2_range[] = {
REGULATOR_LINEAR_RANGE(1200000, 0x0, 0xC, 50000),
REGULATOR_LINEAR_RANGE(3300000, 0x36, 0x3F, 0),
@@ -262,32 +251,6 @@ static const struct regulator_desc common_regs[] = {
TPS65219_REG_ENABLE_CTRL,
TPS65219_ENABLE_BUCK3_EN_MASK, 0, 0, bucks_ranges,
3, 0, 0, NULL, 0, 0),
-};
-
-static const struct regulator_desc tps65214_regs[] = {
- // TPS65214's LDO3 pin maps to TPS65219's LDO3 pin
- TPS65219_REGULATOR("LDO1", "ldo1", TPS65214_LDO_1,
- REGULATOR_VOLTAGE, ldos_3_4_ops, 64,
- TPS65214_REG_LDO1_VOUT,
- TPS65219_BUCKS_LDOS_VOUT_VSET_MASK,
- TPS65219_REG_ENABLE_CTRL,
- TPS65219_ENABLE_LDO3_EN_MASK, 0, 0, tps65214_ldo_1_2_range,
- 3, 0, 0, NULL, 0, 0),
- TPS65219_REGULATOR("LDO2", "ldo2", TPS65214_LDO_2,
- REGULATOR_VOLTAGE, ldos_3_4_ops, 64,
- TPS65214_REG_LDO2_VOUT,
- TPS65219_BUCKS_LDOS_VOUT_VSET_MASK,
- TPS65219_REG_ENABLE_CTRL,
- TPS65219_ENABLE_LDO2_EN_MASK, 0, 0, tps65214_ldo_1_2_range,
- 3, 0, 0, NULL, 0, 0),
-};
-
-static const struct regulator_desc tps65215_regs[] = {
- /*
- * TPS65215's LDO1 is the same as TPS65219's LDO1. LDO1 is
- * configurable as load switch and bypass-mode.
- * TPS65215's LDO2 is the same as TPS65219's LDO3
- */
TPS65219_REGULATOR("LDO1", "ldo1", TPS65219_LDO_1,
REGULATOR_VOLTAGE, ldos_1_2_ops, 64,
TPS65219_REG_LDO1_VOUT,
@@ -295,6 +258,10 @@ static const struct regulator_desc tps65215_regs[] = {
TPS65219_REG_ENABLE_CTRL,
TPS65219_ENABLE_LDO1_EN_MASK, 0, 0, ldo_1_range,
2, 0, 0, NULL, 0, TPS65219_LDOS_BYP_CONFIG_MASK),
+};
+
+static const struct regulator_desc tps65215_regs[] = {
+ // TPS65215's LDO2 is the same as TPS65219's LDO3
TPS65219_REGULATOR("LDO2", "ldo2", TPS65215_LDO_2,
REGULATOR_VOLTAGE, ldos_3_4_ops, 64,
TPS65215_REG_LDO2_VOUT,
@@ -305,13 +272,6 @@ static const struct regulator_desc tps65215_regs[] = {
};
static const struct regulator_desc tps65219_regs[] = {
- TPS65219_REGULATOR("LDO1", "ldo1", TPS65219_LDO_1,
- REGULATOR_VOLTAGE, ldos_1_2_ops, 64,
- TPS65219_REG_LDO1_VOUT,
- TPS65219_BUCKS_LDOS_VOUT_VSET_MASK,
- TPS65219_REG_ENABLE_CTRL,
- TPS65219_ENABLE_LDO1_EN_MASK, 0, 0, ldo_1_range,
- 2, 0, 0, NULL, 0, TPS65219_LDOS_BYP_CONFIG_MASK),
TPS65219_REGULATOR("LDO2", "ldo2", TPS65219_LDO_2,
REGULATOR_VOLTAGE, ldos_1_2_ops, 64,
TPS65219_REG_LDO2_VOUT,
@@ -366,23 +326,13 @@ struct tps65219_chip_data {
};
static struct tps65219_chip_data chip_info_table[] = {
- [TPS65214] = {
- .rdesc = tps65214_regs,
- .rdesc_size = ARRAY_SIZE(tps65214_regs),
- .common_rdesc = common_regs,
- .common_rdesc_size = ARRAY_SIZE(common_regs),
- .irq_types = NULL,
- .dev_irq_size = 0,
- .common_irq_types = common_regulator_irq_types,
- .common_irq_size = ARRAY_SIZE(common_regulator_irq_types),
- },
[TPS65215] = {
.rdesc = tps65215_regs,
.rdesc_size = ARRAY_SIZE(tps65215_regs),
.common_rdesc = common_regs,
.common_rdesc_size = ARRAY_SIZE(common_regs),
- .irq_types = tps65215_regulator_irq_types,
- .dev_irq_size = ARRAY_SIZE(tps65215_regulator_irq_types),
+ .irq_types = NULL,
+ .dev_irq_size = 0,
.common_irq_types = common_regulator_irq_types,
.common_irq_size = ARRAY_SIZE(common_regulator_irq_types),
},
@@ -486,7 +436,6 @@ static int tps65219_regulator_probe(struct platform_device *pdev)
}
static const struct platform_device_id tps65219_regulator_id_table[] = {
- { "tps65214-regulator", TPS65214 },
{ "tps65215-regulator", TPS65215 },
{ "tps65219-regulator", TPS65219 },
{ /* sentinel */ }
@@ -505,5 +454,5 @@ static struct platform_driver tps65219_regulator_driver = {
module_platform_driver(tps65219_regulator_driver);
MODULE_AUTHOR("Jerome Neanne <j-neanne@baylibre.com>");
-MODULE_DESCRIPTION("TPS65214/TPS65215/TPS65219 Regulator driver");
+MODULE_DESCRIPTION("TPS65215/TPS65219 voltage regulator driver");
MODULE_LICENSE("GPL");
--
2.34.1
^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH] Revert "regulator: tps65219: Add TI TPS65214 Regulator Support"
2025-06-19 15:35 [PATCH] Revert "regulator: tps65219: Add TI TPS65214 Regulator Support" Dhruva Gole
@ 2025-06-19 17:30 ` Andreas Kemnade
2025-06-19 18:13 ` Mark Brown
2025-06-19 18:14 ` Mark Brown
2025-06-19 19:58 ` Shree Ramamoorthy
2 siblings, 1 reply; 7+ messages in thread
From: Andreas Kemnade @ 2025-06-19 17:30 UTC (permalink / raw)
To: Dhruva Gole
Cc: s-ramamoorthy, lgirdwood, broonie, aaro.koskinen, khilman, rogerq,
tony, linux-omap, linux-kernel, m-leonard, praneeth,
Robert Nelson
Am Thu, 19 Jun 2025 21:05:26 +0530
schrieb Dhruva Gole <d-gole@ti.com>:
> This reverts commit f1471bc435afa31c8c0c58551922830dc8f4b06b.
>
> This was causing boot regressions [1] on many BeagleBoard platforms
> like the AM62x based BeaglePlay and PocketBeagle-2.
>
> [1] https://gist.github.com/DhruvaG2000/75b7d5ced6c09d508ee0ad5ab1f19707
>
> Signed-off-by: Dhruva Gole <d-gole@ti.com>https://gist.github.com/DhruvaG2000/75b7d5ced6c09d508ee0ad5ab1f19707
> ---
hmm, do you need to really revert everything? Apparently some code
slipped through affecting the tps65219.
[..]
> static const struct regulator_desc tps65219_regs[] = {
> - TPS65219_REGULATOR("LDO1", "ldo1", TPS65219_LDO_1,
> - REGULATOR_VOLTAGE, ldos_1_2_ops, 64,
> - TPS65219_REG_LDO1_VOUT,
> - TPS65219_BUCKS_LDOS_VOUT_VSET_MASK,
> - TPS65219_REG_ENABLE_CTRL,
> - TPS65219_ENABLE_LDO1_EN_MASK, 0, 0, ldo_1_range,
> - 2, 0, 0, NULL, 0, TPS65219_LDOS_BYP_CONFIG_MASK),
> TPS65219_REGULATOR("LDO2", "ldo2", TPS65219_LDO_2,
> REGULATOR_VOLTAGE, ldos_1_2_ops, 64,
> TPS65219_REG_LDO2_VOUT,
> @@ -366,23 +326,13 @@ struct tps65219_chip_data {
> };
e.g. this.
I think it should be relatively easy to only revert that part without
needing to revert it fully.
Regards,
Andreas
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH] Revert "regulator: tps65219: Add TI TPS65214 Regulator Support"
2025-06-19 17:30 ` Andreas Kemnade
@ 2025-06-19 18:13 ` Mark Brown
0 siblings, 0 replies; 7+ messages in thread
From: Mark Brown @ 2025-06-19 18:13 UTC (permalink / raw)
To: Andreas Kemnade
Cc: Dhruva Gole, s-ramamoorthy, lgirdwood, aaro.koskinen, khilman,
rogerq, tony, linux-omap, linux-kernel, m-leonard, praneeth,
Robert Nelson
[-- Attachment #1: Type: text/plain, Size: 729 bytes --]
On Thu, Jun 19, 2025 at 07:30:38PM +0200, Andreas Kemnade wrote:
> Am Thu, 19 Jun 2025 21:05:26 +0530
> schrieb Dhruva Gole <d-gole@ti.com>:
>
> > This reverts commit f1471bc435afa31c8c0c58551922830dc8f4b06b.
> > TPS65219_REGULATOR("LDO2", "ldo2", TPS65219_LDO_2,
> > REGULATOR_VOLTAGE, ldos_1_2_ops, 64,
> > TPS65219_REG_LDO2_VOUT,
> > @@ -366,23 +326,13 @@ struct tps65219_chip_data {
> > };
> I think it should be relatively easy to only revert that part without
> needing to revert it fully.
Yes, I'd like to see some analysis as to why a revert is a good fix
here, it doesn't seem like there's been any effort at understanding what
went wrong and the change doesn't seem that complex.
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH] Revert "regulator: tps65219: Add TI TPS65214 Regulator Support"
2025-06-19 15:35 [PATCH] Revert "regulator: tps65219: Add TI TPS65214 Regulator Support" Dhruva Gole
2025-06-19 17:30 ` Andreas Kemnade
@ 2025-06-19 18:14 ` Mark Brown
2025-06-19 19:58 ` Shree Ramamoorthy
2 siblings, 0 replies; 7+ messages in thread
From: Mark Brown @ 2025-06-19 18:14 UTC (permalink / raw)
To: Dhruva Gole
Cc: s-ramamoorthy, lgirdwood, aaro.koskinen, andreas, khilman, rogerq,
tony, linux-omap, linux-kernel, m-leonard, praneeth,
Robert Nelson
[-- Attachment #1: Type: text/plain, Size: 985 bytes --]
On Thu, Jun 19, 2025 at 09:05:26PM +0530, Dhruva Gole wrote:
> This reverts commit f1471bc435afa31c8c0c58551922830dc8f4b06b.
>
> This was causing boot regressions [1] on many BeagleBoard platforms
> like the AM62x based BeaglePlay and PocketBeagle-2.
Please submit patches using subject lines reflecting the style for the
subsystem, this makes it easier for people to identify relevant patches.
Look at what existing commits in the area you're changing are doing and
make sure your subject lines visually resemble what they're doing.
There's no need to resubmit to fix this alone.
Please include human readable descriptions of things like commits and
issues being discussed in e-mail in your mails, this makes them much
easier for humans to read especially when they have no internet access.
I do frequently catch up on my mail on flights or while otherwise
travelling so this is even more pressing for me than just being about
making things a bit easier to read.
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH] Revert "regulator: tps65219: Add TI TPS65214 Regulator Support"
2025-06-19 15:35 [PATCH] Revert "regulator: tps65219: Add TI TPS65214 Regulator Support" Dhruva Gole
2025-06-19 17:30 ` Andreas Kemnade
2025-06-19 18:14 ` Mark Brown
@ 2025-06-19 19:58 ` Shree Ramamoorthy
2025-06-19 23:24 ` Robert Nelson
2 siblings, 1 reply; 7+ messages in thread
From: Shree Ramamoorthy @ 2025-06-19 19:58 UTC (permalink / raw)
To: Dhruva Gole, lgirdwood, broonie, aaro.koskinen, andreas, khilman,
rogerq, tony, linux-omap, linux-kernel
Cc: m-leonard, praneeth, Robert Nelson
Hi,
On 6/19/25 10:35 AM, Dhruva Gole wrote:
> This reverts commit f1471bc435afa31c8c0c58551922830dc8f4b06b.
I will be sending a patch soon with a fix regarding the devm_kmalloc use in the probe() function.
I'll keep looking into these bugs to see if there's anything else to fix.
> This was causing boot regressions [1] on many BeagleBoard platforms
> like the AM62x based BeaglePlay and PocketBeagle-2.
>
> [1] https://gist.github.com/DhruvaG2000/75b7d5ced6c09d508ee0ad5ab1f19707
>
> Signed-off-by: Dhruva Gole <d-gole@ti.com>
> ---
> drivers/regulator/Kconfig | 9 +---
> drivers/regulator/tps65219-regulator.c | 73 ++++----------------------
> 2 files changed, 13 insertions(+), 69 deletions(-)
>
> diff --git a/drivers/regulator/Kconfig b/drivers/regulator/Kconfig
> index 7423954153b0..fa9a9a5d1a03 100644
> --- a/drivers/regulator/Kconfig
> +++ b/drivers/regulator/Kconfig
> @@ -1601,16 +1601,11 @@ config REGULATOR_TPS65219
> tristate "TI TPS65219 Power regulators"
> depends on MFD_TPS65219 && OF
> help
> - This driver supports TPS65219, TPS65215, and TPS65214 voltage
> - regulator chips.
> + This driver supports TPS65219 series and TPS65215 voltage regulator chips.
> TPS65219 series of PMICs have 3 single phase BUCKs & 4 LDOs
> voltage regulators.
> TPS65215 PMIC has 3 single phase BUCKs & 2 LDOs.
> - TPS65214 PMIC has 3 synchronous stepdown DC-DC converters & 2
> - LDOs. One LDO supports a maximum output current of 300 mA and the
> - other a maximum of 500 mA
> - All 3 PMICs support software based voltage control for different
> - voltage domains.
> + Both PMICs support software based voltage control for different voltage domains.
>
> config REGULATOR_TPS6594
> tristate "TI TPS6594 Power regulators"
> diff --git a/drivers/regulator/tps65219-regulator.c b/drivers/regulator/tps65219-regulator.c
> index b16b300d7f45..d84ab9586ec4 100644
> --- a/drivers/regulator/tps65219-regulator.c
> +++ b/drivers/regulator/tps65219-regulator.c
> @@ -1,6 +1,6 @@
> // SPDX-License-Identifier: GPL-2.0
> //
> -// TPS65214/TPS65215/TPS65219 PMIC Regulator Driver
> +// Regulator driver for TPS65215/TPS65219 PMIC
> //
> // Copyright (C) 2022 BayLibre Incorporated - https://www.baylibre.com/
> // Copyright (C) 2024 Texas Instruments Incorporated - https://www.ti.com/
> @@ -29,11 +29,6 @@ struct tps65219_regulator_irq_type {
> unsigned long event;
> };
>
> -static struct tps65219_regulator_irq_type tps65215_regulator_irq_types[] = {
> - { "SENSOR_3_WARM", "SENSOR3", "warm temperature", REGULATOR_EVENT_OVER_TEMP_WARN},
> - { "SENSOR_3_HOT", "SENSOR3", "hot temperature", REGULATOR_EVENT_OVER_TEMP},
> -};
> -
> static struct tps65219_regulator_irq_type tps65219_regulator_irq_types[] = {
> { "LDO3_SCG", "LDO3", "short circuit to ground", REGULATOR_EVENT_REGULATION_OUT },
> { "LDO3_OC", "LDO3", "overcurrent", REGULATOR_EVENT_OVER_CURRENT },
> @@ -45,11 +40,9 @@ static struct tps65219_regulator_irq_type tps65219_regulator_irq_types[] = {
> { "LDO4_RV", "LDO4", "residual voltage", REGULATOR_EVENT_OVER_VOLTAGE_WARN },
> { "LDO3_RV_SD", "LDO3", "residual voltage on shutdown", REGULATOR_EVENT_OVER_VOLTAGE_WARN },
> { "LDO4_RV_SD", "LDO4", "residual voltage on shutdown", REGULATOR_EVENT_OVER_VOLTAGE_WARN },
> - { "SENSOR_3_WARM", "SENSOR3", "warm temperature", REGULATOR_EVENT_OVER_TEMP_WARN},
> - { "SENSOR_3_HOT", "SENSOR3", "hot temperature", REGULATOR_EVENT_OVER_TEMP},
> };
>
> -/* All of TPS65214's irq types are the same as common_regulator_irq_types */
> +/* All of TPS65215's irq types are the same as common_regulator_irq_types */
> static struct tps65219_regulator_irq_type common_regulator_irq_types[] = {
> { "LDO1_SCG", "LDO1", "short circuit to ground", REGULATOR_EVENT_REGULATION_OUT },
> { "LDO1_OC", "LDO1", "overcurrent", REGULATOR_EVENT_OVER_CURRENT },
> @@ -82,9 +75,11 @@ static struct tps65219_regulator_irq_type common_regulator_irq_types[] = {
> REGULATOR_EVENT_OVER_VOLTAGE_WARN },
> { "LDO1_RV_SD", "LDO1", "residual voltage on shutdown", REGULATOR_EVENT_OVER_VOLTAGE_WARN },
> { "LDO2_RV_SD", "LDO2", "residual voltage on shutdown", REGULATOR_EVENT_OVER_VOLTAGE_WARN },
> + { "SENSOR_3_WARM", "SENSOR3", "warm temperature", REGULATOR_EVENT_OVER_TEMP_WARN},
> { "SENSOR_2_WARM", "SENSOR2", "warm temperature", REGULATOR_EVENT_OVER_TEMP_WARN },
> { "SENSOR_1_WARM", "SENSOR1", "warm temperature", REGULATOR_EVENT_OVER_TEMP_WARN },
> { "SENSOR_0_WARM", "SENSOR0", "warm temperature", REGULATOR_EVENT_OVER_TEMP_WARN },
> + { "SENSOR_3_HOT", "SENSOR3", "hot temperature", REGULATOR_EVENT_OVER_TEMP},
> { "SENSOR_2_HOT", "SENSOR2", "hot temperature", REGULATOR_EVENT_OVER_TEMP },
> { "SENSOR_1_HOT", "SENSOR1", "hot temperature", REGULATOR_EVENT_OVER_TEMP },
> { "SENSOR_0_HOT", "SENSOR0", "hot temperature", REGULATOR_EVENT_OVER_TEMP },
> @@ -138,12 +133,6 @@ static const struct linear_range ldo_1_range[] = {
> REGULATOR_LINEAR_RANGE(3400000, 0x38, 0x3f, 0),
> };
>
> -static const struct linear_range tps65214_ldo_1_2_range[] = {
> - REGULATOR_LINEAR_RANGE(600000, 0x0, 0x2, 0),
> - REGULATOR_LINEAR_RANGE(650000, 0x3, 0x37, 50000),
> - REGULATOR_LINEAR_RANGE(3300000, 0x38, 0x3F, 0),
> -};
> -
> static const struct linear_range tps65215_ldo_2_range[] = {
> REGULATOR_LINEAR_RANGE(1200000, 0x0, 0xC, 50000),
> REGULATOR_LINEAR_RANGE(3300000, 0x36, 0x3F, 0),
> @@ -262,32 +251,6 @@ static const struct regulator_desc common_regs[] = {
> TPS65219_REG_ENABLE_CTRL,
> TPS65219_ENABLE_BUCK3_EN_MASK, 0, 0, bucks_ranges,
> 3, 0, 0, NULL, 0, 0),
> -};
> -
> -static const struct regulator_desc tps65214_regs[] = {
> - // TPS65214's LDO3 pin maps to TPS65219's LDO3 pin
> - TPS65219_REGULATOR("LDO1", "ldo1", TPS65214_LDO_1,
> - REGULATOR_VOLTAGE, ldos_3_4_ops, 64,
> - TPS65214_REG_LDO1_VOUT,
> - TPS65219_BUCKS_LDOS_VOUT_VSET_MASK,
> - TPS65219_REG_ENABLE_CTRL,
> - TPS65219_ENABLE_LDO3_EN_MASK, 0, 0, tps65214_ldo_1_2_range,
> - 3, 0, 0, NULL, 0, 0),
> - TPS65219_REGULATOR("LDO2", "ldo2", TPS65214_LDO_2,
> - REGULATOR_VOLTAGE, ldos_3_4_ops, 64,
> - TPS65214_REG_LDO2_VOUT,
> - TPS65219_BUCKS_LDOS_VOUT_VSET_MASK,
> - TPS65219_REG_ENABLE_CTRL,
> - TPS65219_ENABLE_LDO2_EN_MASK, 0, 0, tps65214_ldo_1_2_range,
> - 3, 0, 0, NULL, 0, 0),
> -};
> -
> -static const struct regulator_desc tps65215_regs[] = {
> - /*
> - * TPS65215's LDO1 is the same as TPS65219's LDO1. LDO1 is
> - * configurable as load switch and bypass-mode.
> - * TPS65215's LDO2 is the same as TPS65219's LDO3
> - */
> TPS65219_REGULATOR("LDO1", "ldo1", TPS65219_LDO_1,
> REGULATOR_VOLTAGE, ldos_1_2_ops, 64,
> TPS65219_REG_LDO1_VOUT,
> @@ -295,6 +258,10 @@ static const struct regulator_desc tps65215_regs[] = {
> TPS65219_REG_ENABLE_CTRL,
> TPS65219_ENABLE_LDO1_EN_MASK, 0, 0, ldo_1_range,
> 2, 0, 0, NULL, 0, TPS65219_LDOS_BYP_CONFIG_MASK),
> +};
> +
> +static const struct regulator_desc tps65215_regs[] = {
> + // TPS65215's LDO2 is the same as TPS65219's LDO3
> TPS65219_REGULATOR("LDO2", "ldo2", TPS65215_LDO_2,
> REGULATOR_VOLTAGE, ldos_3_4_ops, 64,
> TPS65215_REG_LDO2_VOUT,
> @@ -305,13 +272,6 @@ static const struct regulator_desc tps65215_regs[] = {
> };
>
> static const struct regulator_desc tps65219_regs[] = {
> - TPS65219_REGULATOR("LDO1", "ldo1", TPS65219_LDO_1,
> - REGULATOR_VOLTAGE, ldos_1_2_ops, 64,
> - TPS65219_REG_LDO1_VOUT,
> - TPS65219_BUCKS_LDOS_VOUT_VSET_MASK,
> - TPS65219_REG_ENABLE_CTRL,
> - TPS65219_ENABLE_LDO1_EN_MASK, 0, 0, ldo_1_range,
> - 2, 0, 0, NULL, 0, TPS65219_LDOS_BYP_CONFIG_MASK),
> TPS65219_REGULATOR("LDO2", "ldo2", TPS65219_LDO_2,
> REGULATOR_VOLTAGE, ldos_1_2_ops, 64,
> TPS65219_REG_LDO2_VOUT,
> @@ -366,23 +326,13 @@ struct tps65219_chip_data {
> };
>
> static struct tps65219_chip_data chip_info_table[] = {
> - [TPS65214] = {
> - .rdesc = tps65214_regs,
> - .rdesc_size = ARRAY_SIZE(tps65214_regs),
> - .common_rdesc = common_regs,
> - .common_rdesc_size = ARRAY_SIZE(common_regs),
> - .irq_types = NULL,
> - .dev_irq_size = 0,
> - .common_irq_types = common_regulator_irq_types,
> - .common_irq_size = ARRAY_SIZE(common_regulator_irq_types),
> - },
> [TPS65215] = {
> .rdesc = tps65215_regs,
> .rdesc_size = ARRAY_SIZE(tps65215_regs),
> .common_rdesc = common_regs,
> .common_rdesc_size = ARRAY_SIZE(common_regs),
> - .irq_types = tps65215_regulator_irq_types,
> - .dev_irq_size = ARRAY_SIZE(tps65215_regulator_irq_types),
> + .irq_types = NULL,
> + .dev_irq_size = 0,
> .common_irq_types = common_regulator_irq_types,
> .common_irq_size = ARRAY_SIZE(common_regulator_irq_types),
> },
> @@ -486,7 +436,6 @@ static int tps65219_regulator_probe(struct platform_device *pdev)
> }
>
> static const struct platform_device_id tps65219_regulator_id_table[] = {
> - { "tps65214-regulator", TPS65214 },
> { "tps65215-regulator", TPS65215 },
> { "tps65219-regulator", TPS65219 },
> { /* sentinel */ }
> @@ -505,5 +454,5 @@ static struct platform_driver tps65219_regulator_driver = {
> module_platform_driver(tps65219_regulator_driver);
>
> MODULE_AUTHOR("Jerome Neanne <j-neanne@baylibre.com>");
> -MODULE_DESCRIPTION("TPS65214/TPS65215/TPS65219 Regulator driver");
> +MODULE_DESCRIPTION("TPS65215/TPS65219 voltage regulator driver");
> MODULE_LICENSE("GPL");
--
Best,
Shree Ramamoorthy
PMIC Software Engineer
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH] Revert "regulator: tps65219: Add TI TPS65214 Regulator Support"
2025-06-19 19:58 ` Shree Ramamoorthy
@ 2025-06-19 23:24 ` Robert Nelson
2025-06-20 0:15 ` Shree Ramamoorthy
0 siblings, 1 reply; 7+ messages in thread
From: Robert Nelson @ 2025-06-19 23:24 UTC (permalink / raw)
To: Shree Ramamoorthy
Cc: Dhruva Gole, lgirdwood, broonie, aaro.koskinen, andreas, khilman,
rogerq, tony, linux-omap, linux-kernel, m-leonard, praneeth
On Thu, Jun 19, 2025 at 2:58 PM Shree Ramamoorthy <s-ramamoorthy@ti.com> wrote:
>
> Hi,
>
> On 6/19/25 10:35 AM, Dhruva Gole wrote:
> > This reverts commit f1471bc435afa31c8c0c58551922830dc8f4b06b.
>
> I will be sending a patch soon with a fix regarding the devm_kmalloc use in the probe() function.
> I'll keep looking into these bugs to see if there's anything else to fix.
>
> > This was causing boot regressions [1] on many BeagleBoard platforms
> > like the AM62x based BeaglePlay and PocketBeagle-2.
> >
> > [1] https://gist.github.com/DhruvaG2000/75b7d5ced6c09d508ee0ad5ab1f19707
This bug is nasty... ugh! My BeaglePlay (am62) just triggered the same
classic bug on startup. Seems like it's related to the phase of the
moon/etc.. Something in the PMIC doesn't like what we are doing with
the new devices bolted on top..
Here is my boot log with only f1471bc435afa31c8c0c58551922830dc8f4b06b
reverted https://gist.github.com/RobertCNelson/745bc4f9e219be264722b2093ef03fa8
So there's been 4 patches on "tps65219-regulator.c" :
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/log/drivers/regulator/tps65219-regulator.c?h=v6.16-rc2
f1471bc435afa31c8c0c58551922830dc8f4b06b regulator: tps65219: Add TI
TPS65214 Regulator Support
38c9f98db20a649a1f8454f507608b6aef0c9297 regulator: tps65219: Add
support for TPS65215 Regulator IRQs
3f2e457efdad5af4164f155bd7ac902258a9b1ce regulator: tps65219: Add
support for TPS65215 regulator resources
8c04144e156b49980a786e80c855e41f6c71685c regulator: tps65219: Update
struct names
Back to retesting the 3 other commits tomorrow!
Fun note... I'm testing 4 PocketBeagle2 's and 2 BeaglePlays,
depending on the day one board will trigger this bug 80% of the time,
someday it takes hours to trigger.
Regards,
--
Robert Nelson
https://rcn-ee.com/
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH] Revert "regulator: tps65219: Add TI TPS65214 Regulator Support"
2025-06-19 23:24 ` Robert Nelson
@ 2025-06-20 0:15 ` Shree Ramamoorthy
0 siblings, 0 replies; 7+ messages in thread
From: Shree Ramamoorthy @ 2025-06-20 0:15 UTC (permalink / raw)
To: Robert Nelson
Cc: Dhruva Gole, lgirdwood, broonie, aaro.koskinen, andreas, khilman,
rogerq, tony, linux-omap, linux-kernel, m-leonard, praneeth
Hi Robert,
On 6/19/2025 6:24 PM, Robert Nelson wrote:
> On Thu, Jun 19, 2025 at 2:58 PM Shree Ramamoorthy <s-ramamoorthy@ti.com> wrote:
>> Hi,
>>
>> On 6/19/25 10:35 AM, Dhruva Gole wrote:
>>> This reverts commit f1471bc435afa31c8c0c58551922830dc8f4b06b.
>> I will be sending a patch soon with a fix regarding the devm_kmalloc use in the probe() function.
>> I'll keep looking into these bugs to see if there's anything else to fix.
I submitted a patch that addresses the incorrect kmalloc size occurring
in the regulator probe().
When ya'll have time, could you verify if this patch [0] addresses the
boot failure you're encountering.
Regardless, this is a logic error that should be updated. Thank you for
your time & sorry for the headache this caused!
[0]:
https://lore.kernel.org/all/20250620000924.2636542-1-s-ramamoorthy@ti.com/
>>
>>> This was causing boot regressions [1] on many BeagleBoard platforms
>>> like the AM62x based BeaglePlay and PocketBeagle-2.
>>>
>>> [1] https://gist.github.com/DhruvaG2000/75b7d5ced6c09d508ee0ad5ab1f19707
> This bug is nasty... ugh! My BeaglePlay (am62) just triggered the same
> classic bug on startup. Seems like it's related to the phase of the
> moon/etc.. Something in the PMIC doesn't like what we are doing with
> the new devices bolted on top..
>
> Here is my boot log with only f1471bc435afa31c8c0c58551922830dc8f4b06b
> reverted https://gist.github.com/RobertCNelson/745bc4f9e219be264722b2093ef03fa8
>
> So there's been 4 patches on "tps65219-regulator.c" :
> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/log/drivers/regulator/tps65219-regulator.c?h=v6.16-rc2
>
> f1471bc435afa31c8c0c58551922830dc8f4b06b regulator: tps65219: Add TI
> TPS65214 Regulator Support
> 38c9f98db20a649a1f8454f507608b6aef0c9297 regulator: tps65219: Add
> support for TPS65215 Regulator IRQs
> 3f2e457efdad5af4164f155bd7ac902258a9b1ce regulator: tps65219: Add
> support for TPS65215 regulator resources
> 8c04144e156b49980a786e80c855e41f6c71685c regulator: tps65219: Update
> struct names
>
> Back to retesting the 3 other commits tomorrow!
>
> Fun note... I'm testing 4 PocketBeagle2 's and 2 BeaglePlays,
> depending on the day one board will trigger this bug 80% of the time,
> someday it takes hours to trigger.
>
> Regards,
>
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2025-06-20 0:15 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-06-19 15:35 [PATCH] Revert "regulator: tps65219: Add TI TPS65214 Regulator Support" Dhruva Gole
2025-06-19 17:30 ` Andreas Kemnade
2025-06-19 18:13 ` Mark Brown
2025-06-19 18:14 ` Mark Brown
2025-06-19 19:58 ` Shree Ramamoorthy
2025-06-19 23:24 ` Robert Nelson
2025-06-20 0:15 ` 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).