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 .
Hardware Voltage Settings
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|
|0 to 264MHz||792MHz||1.15||1.175|
VDDARM_IN and VDDSOC_IN voltage setting should be within the voltage range, considering the ripple:
- VDDARM_IN - ripple>VDDARM_INmin
- VDDARM_IN + ripple<VDDARM_Inmax
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:
- uboot-imx: move LDO bypass code and one PFUZE1.0 workaround code to kernel. Remove CONFIG_MX6_INTER_LDO_BYPASS in u-boot.
- kernel: A set of patches are used to support LDO bypass enable/disable by command option.
How to Enable/Disable LDO Bypass
After applying for above patches, you can add command option into boot command line to enable or disable LDO:
- Command option “ldo_active=off”: Enable LDO bypass mode
- Command option “ldo_active=on”: Enable LDO active