
<Note this mail my look a bit weird wrt headers, I hit del to soon, so this is a new mail based on copy&paste from the http archive>
Hi All,
Sun Mar 20 16:56:32 CET 2016, Michael Haas wrote:
I'm running Debian Jessie with Linux 4.3.0-0.bpo.1-armmp-lpae on my a20-olinuxino-lime2. I have noticed that my board hangs with my recent u-boot versions when I load the i2c module.
git-bisect narrowed the problem down to the following commit:
02cc27c74f9b884b538bcd1b93342a4c05b5d608 is the first bad commit commit 02cc27c74f9b884b538bcd1b93342a4c05b5d608 Author: Hans de Goede <hdegoede at redhat.com> Date: Sat Oct 3 15:29:24 2015 +0200
sunxi: power: Change axp209 LDO3 and LDO4 default to disabled
<Snip>
The axp209 is attached to the i2c bus, so that is likely the real culprit. In my setup, the axp209 drivers are loaded before I insert i2c-mv64xxx.
What would be the best course of action here?
- Revert the commit
- Enable LDO3 and LDO4 for the a20-olinuxino-lime2 only?
- Fix linux
I would go for option 3: "Fix linux", looking at the lime2 dts I see:
vcc_csi0: ldo3 { regulator-min-microvolt = <700000>; regulator-max-microvolt = <3500000>; regulator-always-on; };
vcc_csi1: ldo4 { regulator-min-microvolt = <1250000>; regulator-max-microvolt = <3300000>; regulator-always-on; };
The regulator-always-on will cause both regulators to get turned on, but the min / max constraints match the datasheet constrains / the absolute min / max values these ldo-s can deliver, not the constraints which the board design puts on these.
So now these ldo-s end up getting turned on at whatever voltage is the default (which according to the datasheet is unknown), where as the schematic says that if these get turned on (which is not necessary) they should be run at 2.8V.
This dts file is the only axp209 using dts file which:
1) Does not have proper constraints for LDO3 / LDO4 2) Uses regulator-always-on; for these
I would suggest fixing both, first you can try making min = max = 2800000. And if that fixes things, which I expect it will, I would also drop the regulator-always-on from the dts, since we really only need to turn these on when using the csi interface in which case it would be up to the csi driver to explicitly turn them on.
Regards,
Hans