Power pins, aren't they powered down at poweroff/halt?

Dec 04, 2023 Last reply: 2 years ago 28 Replies

Those are the mailbox property interface:

formatting link

Device tree usually tells you which power domains need to be up, eg need to power SD card controller before you can talk to it. But I don't see any mechanism for the CPU to tell the GPU to turn things off on shutdown - there's no 'I'm shutting down now' message documented.

Theo

No, but I would like to.

Is there an ARM 'HALT' instruction ? One thing I have found is this gem

" in the bootconf.txt I changed to:

WAKE_ON_GPIO=0 POWER_OFF_ON_HALT=1"

What this actually means in the context of a Pi is not 100% clear though

Ah, I see you do not understand hardware interrupts AT ALL.

Hardware interrupts are not 'scanned' They actually toggle a hardware pin on the CPU (at leasts conceptually)

That can and sometimes is configured to restart the program counter altogether as well as set it to the interrupt vector

Yup.

Timer tick or any other hardware interrupt.

essentially a 'sleep until()' type state

I think that only affects a Pi5

Agreed. Dunno what I was thinking when I wrote that.

Evidently I confused MC6809 operations, which of course were standard interrupts, with MC6845 operations, which allowed direct read/write operations to the address region that delimited video display memory. Since the 6845's video memory scan was out of phase with the master clock, there were no problems with access collisions between in and the 6809 MPU. I handled all display updates by using subroutines in 4 K of EEPROM at the top of the memory map.

Honestly, I dont know.

The good thing about this group is that the one person who possibly does may just de-lurk and tell us the definitive answer.

It affects Pi4 and 400 too:

formatting link
This is a setting for the firmware EEPROM. Pis 0-3 don't have a firmware EEPROM. It appears 3, 4, 400, CM4 have a PMIC addressable by I2C so in theory they can turn the power off using it (if I understand the datasheet right):

https://repair.wiki/w/MXL7704_(Raspberry_Pi) but I don't know if they all do.

Theo

Yes, that's the system for talking to the GPU running the closed-source firmware. My point was that we don't need visibility of the GPU firmware if we know what commands it's sent and what it's supposed to turn off as a result.

Thanks for that link though, I'd forgotten that page existed.

My implication was supposed to be that Linux would likely set all the "power domains" to the off state at shut down. Last possibly being RPI_POWER_DOMAIN_ARM if that means the CPU. To be certain, you'd have to work out whether from reboot() Linux somehow ends up calling rpi_firmware_set_power() in raspberrypi-power.c to disable things.

But it probably does, because the power consumption goes down a lot after power-off.

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required