Issue with A20-SOM204, no power on Port G

Started by Jonathan Fether, September 22, 2018, 03:14:36 AM

Previous topic - Next topic

Jonathan Fether

I have an SOM-204EVB and am in the process of qualifying it with an alternate Bluetooth+WiFi solution (Laird Sterling-LWB based on CYW4343W (Formerly BCM4343W)).

I desoldered the Realtek device and attached jumper wires to the ports, and found poor performance of the UART port (very low signal amplitude). Also, UEXT1's UART port was not working.

After some diagnosis, I found that the root cause was that the A20's pin E18 (VCC-PG) was not receiving power. I was able to find that the regulator was disabled.


root@olimex:/sys/power/axp_pmu/regulator/regulator.7# cat name
vcc-pg
root@olimex:/sys/power/axp_pmu/regulator/regulator.7# cat state
disabled


I was able to force the regulator online using I2C commands:

i2cset -f -y 1 0x34 0x12 0x1F

This resolved my serial port issue.

I am still trying to understand why this issue occurred. My suspicion is that Linux turns off the regulator to conserve power. I am running "ARMBIAN 5.41 user-built Debian GNU/Linux 9 (stretch) 4.17.17-sunxi".

I also noticed in the regulator section of "sun7i-a20-olimex-som204-evb.dts", that the regulator (ldo4) isn't marked always on like ldo1 and ldo2 are:


&reg_ldo1 {
regulator-always-on;
regulator-min-microvolt = <1300000>;
regulator-max-microvolt = <1300000>;
regulator-name = "vdd-rtc";
};

&reg_ldo2 {
regulator-always-on;
regulator-min-microvolt = <3000000>;
regulator-max-microvolt = <3000000>;
regulator-name = "avcc";
};

&reg_ldo4 {
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
regulator-name = "vcc-pg";
};