RE: [PATCH v2 1/2] platform/x86: int3472: Add board data for Intel nvl
From: T, Arun
Date: Mon Mar 16 2026 - 14:00:25 EST
Hi All,
There has been no reply to these patches for quite some time. Could you please provide any feedback, comments, or suggestions on these patches
-
Regards,
Arun T
-----Original Message-----
From: T, Arun
Sent: 12 March 2026 03:17 PM
To: johannes.goede@xxxxxxxxxxxxxxxx; Sakari Ailus <sakari.ailus@xxxxxx>
Cc: mehdi.djait@xxxxxxxxxxxxxxx; linux-media@xxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx
Subject: RE: [PATCH v2 1/2] platform/x86: int3472: Add board data for Intel nvl
Hi Hans,
Thank you for the suggestion. You were correct - the i2c devices are different for each sensor. I added the proper i2c device name in REGULATOR_SUPPLY(), and now both sensors power up correctly with this change.
I've updated the changes in the V4 patch set and submitted it for review
-
Regards,
Arun T
-----Original Message-----
From: johannes.goede@xxxxxxxxxxxxxxxx <johannes.goede@xxxxxxxxxxxxxxxx>
Sent: 06 March 2026 02:53 PM
To: T, Arun <arun.t@xxxxxxxxx>; Sakari Ailus <sakari.ailus@xxxxxx>
Cc: mehdi.djait@xxxxxxxxxxxxxxx; linux-media@xxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx
Subject: Re: [PATCH v2 1/2] platform/x86: int3472: Add board data for Intel nvl
Hi,
On 6-Mar-26 09:47, T, Arun wrote:
> Hi Hans,
>
> We are using CRD G3 card + ov13b10 (UF and WF), which is supported by Discrete and TPS68470 power solutions.
> WF camera is powered by Discrete and UF camera is powered by TPS68470 PMIC.
> Discrete solution provides regulator name as "avdd".
> TPS68470 provides multiple regulators like "ana". Vdd, dovdd, etc.
>
> As per your comment We have tried below experiments and shared output below:
>
> Experiment 1:
> -Add avdd name as a regulator name.
>
> static struct regulator_consumer_supply int3472_ana_consumer_supplies[] = {
> REGULATOR_SUPPLY("avdd", "i2c-OVTI13B1:00"), };
>
> +++ b/drivers/media/i2c/ov13b10.c
> @@ -704,7 +704,6 @@ static const char * const ov13b10_supply_names[] = {
> "dovdd", /* Digital I/O power */
> "avdd", /* Analog power */
> "dvdd", /* Digital core power */
> };
>
> Error logs:
> [ 0.732156] tps68470-regulator tps68470-regulator: Failed to set supply avdd
> [ 0.739297] tps68470-regulator tps68470-regulator: error -EBUSY: registering ANA regulator
> [ 0.747663] tps68470-regulator tps68470-regulator: probe with driver tps68470-regulator failed with error -16
> [ 3.621085] intel_ipu7_isys.isys intel_ipu7.isys.40: bind ov13b10 1-0010 nlanes is 2 port is 1
>
> Result:
> Only WF camera sensor is working, which gets the avdd regulator from the discrete solution.
> UF camera gets failed to bind due conflict regulator names.
If you have 2 OVTI13B1 cameras then they will have 2 different device names, you can see these by doing:
ls /sys/bus/i2c/devices
They will likely be:
"i2c-OVTI13B1:00"
"i2c-OVTI13B1:01"
and since you're getting an error that the discrete INT3472 device has already registered the "avdd" supply for the "i2c-OVTI13B1:00"
sensor, that means that the tps68470 is likely supplying the "i2c-OVTI13B1:01" sensor and not the "i2c-OVTI13B1:00" so you need to have the regulator_consumer_supply maps point to "i2c-OVTI13B1:01" .
If you boot with "intel_skl_int3472_discrete.dyndbg intel_skl_int3472_common.dyndbg"
add to your kernel commandline then the int3472 code will add some debug messages to dmesg which let you know which sensor is mapped to which INT3472:0x device.
Regards,
Hans