Hi,
i'm currently working on a Mainline Linux driver for the linear regulators (vddd, vdda, vddio, vddmem) of the i.MX28.
Which hardware register values are prefered to check the current regulator state (enabled / disabled)?
Best regards
Stefan Wahren
Solved! Go to Solution.
Hi Stefan,
For VDDD, VDDA and VDDMEM you can check their respective ENABLE_LINREG bits in their control registers:
HW_PWR_VDDDCTRL 0x8004_4040
HW_PWR_VDDACTRL 0x8004_4050
HW_PWR_VDDMEMCTRL 0x8004_4070
For VDDIO, you have to check the TRG bits in the HW_PWR_VDDIOCTRL register (0x8004_4060) and see what the voltage setting of the regulator is and check the DISABLE_FET bit, which disables the VDDIO DCDC converter.
Best regards.
Jorge.
I've some more questions about this topic:
1. What is the expected state of the linear regulators after the imx-bootlets finished on a 5V power source only device?
2. Is it harmless to reduce CPU frequency in case the linear regulators are disabled?
3. What is the preferred method for detecting 5V power source within a linux driver (VBUSVALID0_STATUS, VDD5V_GT_VDDIO, IRQ or power status register)?
expected state of the linear regulators after the imx-bootlets
depends on particular board configuartion and this is fully programmable.
CPU frequency can be reduced in case the linear regulators are disabled.
Prefered VBUSVALID method as suggests AN4199
Thank you very much
Hi Stefan,
For VDDD, VDDA and VDDMEM you can check their respective ENABLE_LINREG bits in their control registers:
HW_PWR_VDDDCTRL 0x8004_4040
HW_PWR_VDDACTRL 0x8004_4050
HW_PWR_VDDMEMCTRL 0x8004_4070
For VDDIO, you have to check the TRG bits in the HW_PWR_VDDIOCTRL register (0x8004_4060) and see what the voltage setting of the regulator is and check the DISABLE_FET bit, which disables the VDDIO DCDC converter.
Best regards.
Jorge.
Hi Jorge,
thanks for your reply. I'm not sure about your last sentence.
DISABLE_FET = 1 -> VDDIO disabled
DISABLE_FET = 0 -> VDDIO enabled
I'm i right?
BR Stefan
Hi Stefan
DISABLE_FET bit disables the VDDIO DCDC converter.
LinReg (note HW_POWER_VDDIOCTRL has not bit ENABLE_LINREG)
can not be disabled for VDDIO.
Best regards
igor
Hi igor,
so LinReg for VDDIO is always on?
Best regards
Stefan
yes
~igor