On 2/20/2024 4:20 PM, Bryan O'Donoghue wrote:
On 19/02/2024 3:06 a.m., Fenglin Wu wrote:
On 2024/2/15 6:47, Bryan O'Donoghue wrote:
On 14/02/2024 14:52, Mark Brown wrote:
On Wed, Feb 14, 2024 at 02:44:56PM +0000, Bryan O'Donoghue wrote:
On 14/02/2024 14:13, Mark Brown wrote:
Not just that but also note that every voltage step in the range will
have the 8mV offset added.
The documents I have just show sensors attached to ldo3, ldo4 and
ldo6 fixed
at 1.808.
I don't think there's any better or different information than a
+200000uV
increment TBH.
This seems like a very surprising and unusual hardware design, the
1.808V voltage is already unusual. Note that this may break systems
that are trying to set a range of say 1.8-2.0V if they actually need to
set 2V.
Hmm. I'm sure the rail value should be 1.808 its all over the
documentation for example when we get to index 3 we hit 2608000
REGULATOR_LINEAR_RANGE(1808000, 0, 2, 200000),
1808000 0
2008000 1
2208000 2
2408000 x
REGULATOR_LINEAR_RANGE(2608000, 3, 28, 16000),
And there are other rails @ 1v8 if 1v8
The one thing I can't easily verify is index 0 = 1808000 and not say
1800000 or indeed that the increment is 200000 and not say 8000.
I'll see if I can ask around with the hw people and get a more
complete answer.
Similarly now that you've gotten me digging into this problem, it's
not clear to me why this regulator isn't just a linear regulator with
an 8mv increment over a range of indexes.
At least the documentation I'm looking at doesn't elucidate.
I'll dig some more.
Please see the voltage steps for LDO3/4/6 described in the PM8010 TDOS
document which is the most authoritative that we used internally for
PMIC driver development:
I will look - however
1. The powertree internal docs for xe801000 show 1.808 rails derived
from 1.856 rails for camera sensors
2. Publicly available with registration : 80-185821-1
https://docs.qualcomm.com/bundle/80-18582-1/resource/80-18582-1_REV_AV_PM8010_Data_Sheet.pdf
Table 3-7 Linear/low-voltage regulator summary
Specified programmable range (V)
ldo3, ldo4, ldo6 = 1.808 to 3.312
3. The pmic ranges I'm looking at on the internal
show increases of 8000 mv linearly
And I do see from the document change history that step 0 was changed
from 1808mV and step 2 was changed from 2512mV, I don't know the
reason of the change though.
Hrmm...
OK, that's enough to investigate further.
Got feedback from the chip designer: "1.808V is the typical digital Vset
logic output – always round up to the integer multiples of 8mV.
However, 1.8V is a more commonly used output. So we made analog only
change, move the tap point of the reference generator to 1.8V when it is
programmed to 1.808V.
If user program it to 1.8V, digital logic will round it up to 1.808V,
send it to analog, then analog will map it to 1.8V. So the end result is
the same regardless customer program it to 1.8V or 1.808V from PMIC
register point of view. "
So, programming it to either 1.8V or 1.808V, the HW will output 1.8V. I
understand there is a problem for x1e801000 because its AOP side limits
the voltage range to [1.808V, 1.808V] for LDO3/4/6 power rails, it won't
work if linux side updates to use 1.8V. Actually the same issue applies
to SM8550 and SM8650 if you simply update the voltage level to 1.808V,
because their AOP side limits the voltage ranges for some of these LDOs
to [1.8V, 1.8V].
One possible fix is just adding 1.808v as another level for these LDOs.
Fenglin
---
bod