i.MX6Dual/Quad supports using internal LDO or bypass internal LDO. LDO bypass is helpful to save power consumption and reduce thermal under high loading use cases because the power consumption on internal LDO can be saved. The purpose of this document is to introduce how to enable LDO bypass based on i.MX6 R13.4.1 release on i.MX6Dual/Quad SabreSD board.
LDO Bypass solution currently can only be applied to i.MX6Dual/Quad 1GHz. LDO bypass function will force disabled on i.MX6Dual/Quad 1.2GHz, but customer can estimate this function through limit the max ARM frequency to 1GHz by command line 'arm_freq=1000' on i.MX6Dual/Quad 1.2GHz .
The following table lists the voltage settings in each working CPU frequency and VPU frequency with LDO bypass solution:
VPU Frequency | ARM Frequency | VDDARM_IN (V) | VDDSOC_IN (V) |
---|---|---|---|
0 to 352MHz | 996MHz | 1.25 | 1.25 |
264-> 352MHz | 702MHz | 1.15 | 1.25 |
0 to 264MHz | 792MHz | 1.15 | 1.175 |
264->352MHz | 396MHz | 0.95 | 1.25 |
<264MHz | 396MHz | 0.95 | 1.175 |
VDDARM_IN and VDDSOC_IN voltage setting should be within the voltage range, considering the ripple:
For the Min/Max value, refer to the i.MX6Dual/Quad data sheet. The above list is based on SabreSD PFuse-100.
Please apply the patches into Android-13.4.1-LDO_BYPASS-pathes.tar.gz.gz based on R13.4.1. The change lists:
After applying for above patches, you can add command option into boot command line to enable or disable LDO:
Anyone ever integrated the PF0100 into the imx6_cpufreq driver to take advantage of DVFS for LDO bypass mode?
--> e.g. 0.95V when running at 396MHz, 1.15 when running at 792MHz
Solution to use the PF0100 for DVFS: https://community.nxp.com/thread/462514#comment-954021