[PATCH v2 2/2] regulator: rpi-panel-v2: Add required vcc-supply support
From: Shashank Maurya
Date: Mon Sep 07 2026 - 01:47:49 EST
The Raspberry Pi 7" touchscreen panel V2 MCU requires an external power
rail to be enabled before any I2C register access is attempted. Use
devm_regulator_get() to obtain the vcc supply and enable it at the
start of probe.
Signed-off-by: Shashank Maurya <shashank.maurya@xxxxxxxxxxxxxxxx>
---
drivers/regulator/rpi-panel-v2-regulator.c | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/drivers/regulator/rpi-panel-v2-regulator.c b/drivers/regulator/rpi-panel-v2-regulator.c
index 30b78aa75ee3..e54d675962e7 100644
--- a/drivers/regulator/rpi-panel-v2-regulator.c
+++ b/drivers/regulator/rpi-panel-v2-regulator.c
@@ -11,6 +11,7 @@
#include <linux/module.h>
#include <linux/pwm.h>
#include <linux/regmap.h>
+#include <linux/regulator/consumer.h>
/* I2C registers of the microcontroller. */
#define REG_ID 0x01
@@ -66,10 +67,21 @@ static int rpi_panel_v2_i2c_probe(struct i2c_client *i2c)
.parent = &i2c->dev,
.reg_set_base = REG_POWERON,
};
+ struct regulator *vcc;
struct regmap *regmap;
struct pwm_chip *pc;
int ret;
+ vcc = devm_regulator_get(&i2c->dev, "vcc");
+ if (IS_ERR(vcc))
+ return dev_err_probe(&i2c->dev, PTR_ERR(vcc),
+ "Failed to get vcc supply\n");
+
+ ret = regulator_enable(vcc);
+ if (ret)
+ return dev_err_probe(&i2c->dev, ret,
+ "Failed to enable vcc supply\n");
+
pc = devm_pwmchip_alloc(&i2c->dev, 1, 0);
if (IS_ERR(pc))
return PTR_ERR(pc);
--
2.34.1