stylon Posted August 29, 2022 Posted August 29, 2022 Hi all, I recently bought a Banana BPI M2 Zero for a personal human-machine interaction project as this was the only (cheap) available option w.r.t. my specs (HDMI, entry-level OpenGL GPU, enough CPU power for the task). I got a version with Allwinner H3 (which in my view is good) and also read through the H3 buyer's guide. According to that guide, the CPU should be sourced by 1.3V, but to my (positive) surprise, I measured only 1.15V at the output coil (after the coil and against GND, of course) of the SY8113 regulator. However, there's certainly something not working as expected from the schematics: both, the SY8113 and the SY8089 1.2V regulators (SYSTEM+CPUX) should be connected to the same enable signal PWR-STB, but to my (negative) surprise the board only powers off (executing "poweroff") the SY8113 and all 3 other regulators still keep running. Power consumption in that state is even higher (~0.7-0.8W) compared to running linux idle (~0.5W). My expectation was that 3 of the 4 regulators (with the exception of 3V3) would be powered down. The 1.15V is in line with the schematics I have and possibly it's probably not reported correctly in the buyer's guide. I'm using Armbian_21.08.1_Bananapim2zero_hirsute_edge_5.13.12.img for my tests so far, but may switch to buildroot for deployment. Does anyone see a similar behaviour with the H3 version of the board? Best, Stephan 0 Quote
stylon Posted August 30, 2022 Author Posted August 30, 2022 Okay, I figured out what happens 🙂. First I would like to correct myself: the measured (idle) voltage of 1.15V was actually 1.115V. This is good. When powered down, I double-checked all regulators again and was surprised that even the SY8113 is still on, but showed a bit more than 1.3V! For some reason I must have made a mistake when measuring before as this is consistent now. Even when booting, the SY8113 shows 1.3V initially and then drops to 1.115V after a while with occasionally switching between 1.3V and 1.115V later on depending on the load. So, I did take another more detailed look at the schematics and indeed Sinovoip implemented a poor man's PMIC for the 1.1V CPUX power supply that switches between these two voltages depending on the load and the CPU clock frequency. The signal is CPUX-SET. I guess this is known as the Linux kernel seems to switch between these two voltages. Now, I'm still interested in low power consumption after poweroff. So far, the board uses more power after executing poweroff compared to running idle on Linux (~0.7-0.8W vs. ~0.5W). The reason is that all regulators keep being enabled plus the SY8113 remains to be configured for 1.3V. I'm aware of the AR100 (CPUS) and also the crust firmware on GitHub. Obviously, the hardware implements that all but one (the 3.3V) regulator can be disabled, but so far that doesn't seem to happen. How can I help here? Should I look at and modify the crust firmware, i.e. add waiting to receive a "poweroff" trigger message from the kernel and set the appropriate GPIOs accordingly? The schematic tells me that CPUS is powered by RTC_VIO (via VDD_RTC via VCC-3V3). VCC-3V3 is the only regulator which can't be turned off. So, that's in principle okay as CPUS can still monitor POWER-KEY and restart the whole system. Best, Stephan 0 Quote
stylon Posted August 31, 2022 Author Posted August 31, 2022 I think that the armbian image that I took doesn't even use the crust firmware yet? At least I don't see a firmware upload in the u-boot log messages and also find no reference elsewhere (arisc strings in dmesg, /lib/firmware, etc.). Maybe someone can confirm that. That would explain what I observe. On the other side the crust firmware seems to have support for GPIO based toggling of the 3 regulators. If the crust firmware isn't being used for this board/armbian image, what is the missing piece? 0 Quote
stylon Posted September 1, 2022 Author Posted September 1, 2022 Nevermind, problem solved. Moved to buildroot, solution is probably not applicable to armbian. Thanks anyway for listening. 0 Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.