Looking over the android BSP provided by freescale for the imx6q sabresd board, I find that the VGEN3 output is increased from 2.5 to 2.8v and VGEN5 output increased from 2.8 to 3.0v in uboot. This file;
board/freescale/mx6q_sabresd/mx6q_sabresd.c { funciton "static int setup_pmic_voltages(void)" }
The comments in code provide the following explanation;
/*For camera streaks issue,swap VGEN5 and VGEN3 to power camera.
*sperate VDDHIGH_IN and camera 2.8V power supply, after switch:
*VGEN5 for VDDHIGH_IN and increase to 3V to align with datasheet
*VGEN3 for camera 2.8V power supply
*/
/*increase VGEN3 from 2.5 to 2.8V*/
if (i2c_read(0x8, 0x6e, 1, &value, 1)) {
printf("Read VGEN3 error!\n");
return -1;
}
value &= ~0xf;
value |= 0xa;
if (i2c_write(0x8, 0x6e, 1, &value, 1)) {
printf("Set VGEN3 error!\n");
return -1;
}
/*increase VGEN5 from 2.8 to 3V*/
if (i2c_read(0x8, 0x70, 1, &value, 1)) {
printf("Read VGEN5 error!\n");
return -1;
}
value &= ~0xf;
value |= 0xc;
if (i2c_write(0x8, 0x70, 1, &value, 1)) {
printf("Set VGEN5 error!\n");
return -1;
}
My question is this - I have a derivative iMX6 dual core board without a camera. VGEN3 and VGEN5 are only used to power the processor (similar design on sabresd). Will the above setting create problems? Or should I remove it and revert VGEN3 and VGEN5 to their default values?
Amusingly enough, when I cross-checked the sabresd schematics, it states that VGEN3 should be 2.5v and VGEN5 should be 3v.
Curious,
Abraham V.