[PATCH v2 03/11] regulator: pbias: Add pbias SIM regulator for OMAP4

From: Thomas Richard

Date: Mon Mar 30 2026 - 09:53:27 EST


Add support for the pbias SIM regulator found on OMAP4 (for USB I/O cell).

Signed-off-by: Thomas Richard <thomas.richard@xxxxxxxxxxx>
---
drivers/regulator/pbias-regulator.c | 12 ++++++++++++
1 file changed, 12 insertions(+)

diff --git a/drivers/regulator/pbias-regulator.c b/drivers/regulator/pbias-regulator.c
index cd5a0d7e4455..23cc106cd9fb 100644
--- a/drivers/regulator/pbias-regulator.c
+++ b/drivers/regulator/pbias-regulator.c
@@ -81,6 +81,17 @@ static const struct pbias_reg_info pbias_sim_omap3 = {
.name = "pbias_sim_omap3"
};

+static const struct pbias_reg_info pbias_sim_omap4 = {
+ .enable = BIT(28) | BIT(20),
+ .enable_mask = BIT(31) | BIT(28) | BIT(20),
+ .disable_val = BIT(31),
+ .vmode = BIT(27),
+ .enable_time = 100,
+ .pbias_volt_table = pbias_volt_table_3_0V,
+ .n_voltages = 2,
+ .name = "pbias_sim_omap4"
+};
+
static const struct pbias_reg_info pbias_mmc_omap4 = {
.enable = BIT(26) | BIT(22),
.enable_mask = BIT(26) | BIT(25) | BIT(22),
@@ -108,6 +119,7 @@ static struct of_regulator_match pbias_matches[] = {
{ .name = "pbias_sim_omap3", .driver_data = (void *)&pbias_sim_omap3},
{ .name = "pbias_mmc_omap4", .driver_data = (void *)&pbias_mmc_omap4},
{ .name = "pbias_mmc_omap5", .driver_data = (void *)&pbias_mmc_omap5},
+ { .name = "pbias_sim_omap4", .driver_data = (void *)&pbias_sim_omap4},
};
#define PBIAS_NUM_REGS ARRAY_SIZE(pbias_matches)


--
2.53.0