Matt DeVillier has submitted this change. ( https://review.coreboot.org/c/coreboot/+/75212?usp=email )
Change subject: mb/asrock/b75pro3-m: Drop destructive GPIO settings ......................................................................
mb/asrock/b75pro3-m: Drop destructive GPIO settings
Without setting these GPIO bits, you /can/ power on your board after powering it down again. This includes after cutting the power. The only way to recover from this is to pull the CMOS battery and cut the power for 15mins. Then make sure you don't do this GPIO trickery or you end up with the same state of basically an unresponsive "dead" mainboard. So flash the chip before you pull the battery.
One small workaround I found when you like to flash from the system, is to press the power button with 1 second after you enable power to the board. In this small timeframe, apparently the superio chip didn't intialise/restore/gets set with the settings that make it never want to power on again. The other workaround is to connect the appriopriate pins on the ATX power connector to force power to the mainboard.
Signed-off-by: Fabian Groffen grobian@gentoo.org Change-Id: I4c9df200ba3ec5f315ad3d184588551d29fa68ce Reviewed-on: https://review.coreboot.org/c/coreboot/+/75212 Tested-by: build bot (Jenkins) no-reply@coreboot.org Reviewed-by: Martin L Roth gaumless@gmail.com --- M src/mainboard/asrock/b75pro3-m/devicetree.cb 1 file changed, 0 insertions(+), 16 deletions(-)
Approvals: build bot (Jenkins): Verified Martin L Roth: Looks good to me, approved
diff --git a/src/mainboard/asrock/b75pro3-m/devicetree.cb b/src/mainboard/asrock/b75pro3-m/devicetree.cb index d3b6828..dc6080d 100644 --- a/src/mainboard/asrock/b75pro3-m/devicetree.cb +++ b/src/mainboard/asrock/b75pro3-m/devicetree.cb @@ -111,28 +111,12 @@ end device pnp 2e.6 off end # CIR device pnp 2e.7 off end # GPIO8 - device pnp 2e.107 off end # GPIO9 device pnp 2e.8 off end # WDT1 - device pnp 2e.108 off end # GPIO0 - device pnp 2e.208 off end # GPIOA device pnp 2e.308 on # GPIO base io 0x60 = 0x0 irq 0xf0 = 0x3e # + GPIO1 direction irq 0xf1 = 0xde # + GPIO1 value end - device pnp 2e.109 on end # GPIO1 - device pnp 2e.209 on # GPIO2 - irq 0xe0 = 0xff # + GPIO2 direction - irq 0xe1 = 0x0c # + GPIO2 value - end - device pnp 2e.309 on # GPIO3 - irq 0xe4 = 0xf7 # + GPIO3 direction - irq 0xe5 = 0x08 # + GPIO3 value - end - device pnp 2e.409 off end # GPIO4 - device pnp 2e.509 off end # GPIO5 - device pnp 2e.609 off end # GPIO6 - device pnp 2e.709 on end # GPIO7 device pnp 2e.a on # ACPI irq 0xe0 = 0x01 irq 0xe3 = 0x14